一个javascript参数的小问题_Javascript教程-查字典教程网
一个javascript参数的小问题
一个javascript参数的小问题
发布时间:2016-12-30 来源:查字典编辑
摘要:以下是javascriptfunctionshow(layername){if(!document.getElementById)retur...

以下是javascript

functionshow(layername){

if(!document.getElementById)returnfalse;

if(!document.getElementById(layername))returnfalse;

varlayer=document.getElementById(layername);

layer.style.width="0px";

layer.style.height="0px";

layer.style.display="block";

movement=setTimeout("animation()",0)

}

functionanimation(){

if(!document.getElementById)returnfalse;

if(!document.getElementById(layername))returnfalse;

varlayer=document.getElementById(layername);

varxpos=parseInt(layer.style.width);

varypos=parseInt(layer.style.height);

if(xpos==480&&ypos==80){

returntrue;

}

if(xpos<480){

xpos+=10

}

if(xpos>480){

xpos-=10

}

if(ypos<80){

ypos+=10

}

if(ypos>80){

ypos-=10

}

layer.style.width=xpos+"px";

layer.style.height=ypos+"px";

movement=setTimeout("animation()",0);

}

以下是html

<divid="">

<ul>

<liid="myfriends"><ahref="#"onmouseover="show('layer1');">我的好友</a></li>

<liid="mydocument"><ahref="#"onmouseover="show('layer2');">我的资料</a></li>

<liid="myalbum"><ahref="#"onmouseover="show('layer3');">我的相册</a></li>

<liid="myarticles"><ahref="#"onmouseover="show('layer4');">我的文章</a></li>

</ul>

</div>

<divid="layer1"class="clearfloat"></div>

<divid="layer2"class="clearfloat"></div>

<divid="layer3"class="clearfloat"></div>

<divid="layer4"class="clearfloat"></div>

问题

如果使用参数layer1、layer2、layer3、layer4,则每次都不成功,提示'layername'isundefined

如果将javascript里的layername换成div的id值就能成功,但如果这样javascript程序就会很多

请问怎样才能正确的使用参数的形式?

解决方法:

movement=setTimeout("animation()",0)

这个地方没有给animation()传参数过去

而定义的animation()函数也没有接受参数,但是又用

varlayer=document.getElementById(layername);

来接收layername这个变量

错误地理解了闭包?想从functionshow(layername)这个函数接收参数???

定时器好像没有丝毫作用

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类