7.javascript---第四天

有两天没有看它了。。。。主要原因是在不停的重装系统。郁闷的度过了两天。。。。

下面是关于javascript的继续学习:

Tips:

图片转换思想:

  1. javascript中有各种图片的源.
  2. 有转换图片的函数.(可以设置时间启动);将html中的<img>标记的图片替换掉.
  3. 在html中有<img>标记.name要设置.或者可以在script中写入.
1
window.setTimeout("slide("+num+")",1000);

当出现这句话时,不要在再上边添加一些立即触发的动作.这样会出现脚本错误…

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function testPicture()  
{
var result = false;
for(var i = 0; i < imageList.length; i++)
result = (result || imageList[i].complete);////这里用于检测图片是否加载完成
当然这里imageList中每一个元素都必须是Image类型的.
if(result)
{
slide(0);
}
else
window.setTimeout("testPicture()",1000);
}

TipS:

动态的为动态,静态的为静态.

1
<img src = "winxpaa10.jpg" name = "A" width = 200 height = 200>

这里的src="winxpaa10.jpg"其中 winxpaa10.jpg必须是静态的字符串
如果改为defaultImage.src就显示不出来了.

1
2
<a href = "#" onMouseOver = "document.A.src = rolledImage.src" onMouseOut =
"document.A.src = defaultImage.src">rolled</a>

这里的onMouseOver onMouseOut 都是触发的事件,可以是动态的.如果改为:

1
2
3

<a href = "#" onMouseOver = "winxpaa11.jpg" onMouseOut =
"winxpaa10.jpg">rolled</a>

就会出未定义的错误.

1
2
3
4
5
6
7
8
9
10
11
12
<map name="Imagemap">做成图片组
<area shape="rect" coords="0,0,100,200"
onMouseOver="document.A.src = rolledImage.src;document.B.src = rolledImage.src" onMouseOut="document.A.src = defaultImage.src;document.B.src =
defaultImage.src">这里可以加任意多的语句.
</map>
<br>
<br>
<img src="winxpaa10.jpg" name="A" width=100 height=100 useMap="#Imagemap">与Imagemap绑定
<img src="winxpaa11.jpg" name="B" width=100 height=100 useMap="#Imagemap">
<img src="winxpaa13.jpg" name="C" width=100 height=100 useMap="#Imagemap">


onMouseOut = "document.A.src =
defaultImage.src;“这一条看似是传一个字符串给onMouseOut,但实际过程是执行了”“里的一句代码.
也就是说”“中还可以使用一次字符串.
window.setTimeout(“testPicture()”,1000);而这里就是单纯的传如字符串给setTimeout();这里”"中不能再使用字
符串.

注意:

1
2
3
4
<form name="A">
Enter you code:
<input type="text" onChange="window.alert(document.A.txt.value)" name="txt">
</form>

这里的document.A.txt.value可以用this.value代替。也可以用this.form.txt.value来代替。
但不能用this.form.text.value或this.A.text.value代替
this指的的是当前的控件句柄。所以form的name不能命名为this
其他控件也不能为this…这在命名上一定要注意

1
2
3
4
document.A.choose.length++;用于增加新的选择项。  
document.A.choose.options[document.A.choose.length-1].text = "3";
document.A.choose.options[document.A.choose.length-1].value = "ddd";

1
2
<a href = "#" onClick = "change(document.A.choose)">change</a>动态改变选项标签内容

被调用的函数

1
2
3
4
5
6
7
8
9
10
function change(list)  
{
for(var i=0; i<list.length; i++)
{
list.options[i].text = i+3;
list.options[i].value = i;
}
}


TipS:

只要是标签就是一个对象,是一个对象就可以调用javascript函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<input type = "Radio" name = "B" value="Y">ye<br>这里的name是分组名字

<input type = "Radio" name = "A" value="Y">ye<br>不是同一组的可以被同时选中。在同一组的一定不能被同时选中
<input type = "Radio" name = "A" value="Y" Checked>yfe<br>页面加载的时候就已经选中此项

function first(list)
{
list.length = 3;
for(var i=0; i<list.length; i++)
{
list.options[i].text = "first"+i+3;/// 这里结果为first03等。也就是说都转换成了字符串然后再相加。
/////如果"first"+(i+3)则先执行算术加法。
list.options[i].value = i;
}
}

Tips:
当两个对象处在并列的位置。这其中一个对象可以通过找到共同父对象然后再对另一个对象进行操作

1
2
3
4
5
6
7
<input type = "Radio" name = "A" value="Y"
Checked>yfe<br>如果将input看为一个类的话。type,name等都是类中的成员变量。而<input type = "Radio" name
= "A" value="Y" Checked onClick =
"first(document.myForm.firstSelect)">一个就是一个对象。onClick =
"first(document.myForm.firstSelect)"就是对象的一个方法。first()就是方法中的内容。