一个javascript参数的小问题

 更新时间:2008年03月02日 14:15:31   作者:  
一个javascript参数的小问题
以下是javascript

function show(layername){
       if (!document.getElementById) return false;
       if (!document.getElementById(layername)) return false;
       var layer = document.getElementById(layername);
       layer.style.width = "0px";
       layer.style.height = "0px";
       layer.style.display = "block";
       movement = setTimeout("animation()",0)
}
function animation(){
       if (!document.getElementById) return false;
       if (!document.getElementById(layername)) return false;
       var layer = document.getElementById(layername);
       var xpos = parseInt(layer.style.width);
       var ypos = parseInt(layer.style.height);
       if (xpos == 480 && ypos == 80){
              return true;
       }
       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
<div id="">
   <ul>
     <li id="myfriends">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#" onmouseover="show('layer1');">我的好友</a></li>
     <li id="mydocument">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#" onmouseover="show('layer2');">我的资料</a></li>
     <li id="myalbum">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#" onmouseover="show('layer3');">我的相册</a></li>
     <li id="myarticles">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#" onmouseover="show('layer4');">我的文章</a></li>
  </ul>
</div>
<div id="layer1" class="clearfloat">&nbsp;</div>
<div id="layer2" class="clearfloat">&nbsp;</div>
<div id="layer3" class="clearfloat">&nbsp;</div>
<div id="layer4" class="clearfloat">&nbsp;</div>


问题
如果使用参数layer1、layer2、layer3、layer4,则每次都不成功,提示'layername' is undefined
如果将javascript里的layername换成div的id值就能成功,但如果这样javascript程序就会很多
请问怎样才能正确的使用参数的形式?
解决方法:
movement = setTimeout("animation()",0)
这个地方没有给animation()传参数过去

而定义的animation()函数也没有接受参数,但是又用
var layer = document.getElementById(layername);
来接收layername 这个变量
错误地理解了闭包?想从 function show(layername) 这个函数接收参数???

定时器好像没有丝毫作用

相关文章

  • JavaScript中奇葩的假值示例应用

    JavaScript中奇葩的假值示例应用

    这篇文章主要介绍了JavaScript中奇葩的假值应用,需要的朋友可以参考下
    2014-03-03
  • 分享Javascript实用方法二

    分享Javascript实用方法二

    javascript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型,本文给大家分享javascript实用方法二,感兴趣的朋友一起学习吧
    2015-12-12
  •  javascript数组中的slice方法和join​​方法

     javascript数组中的slice方法和join​​方法

    这篇文章主要介绍了 javascript数组中的slice方法和join​​方法,文章内容介绍详细,具有一的参考价值,需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-03-03
  • 解决使用layui的时候form表单中的select等不能渲染的问题

    解决使用layui的时候form表单中的select等不能渲染的问题

    今天小编就为大家分享一篇解决使用layui的时候form表单中的select等不能渲染的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • 微信小程序封装多张图片上传api代码实例

    微信小程序封装多张图片上传api代码实例

    这篇文章主要介绍了微信小程序封装多张图片上传api代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • 关于ES6字符串的扩展详解

    关于ES6字符串的扩展详解

    es6这个String对象倒是扩展了不少方法,但是很多都是跟字符编码相关,下面这篇文章主要给大家介绍了关于ES6字符串扩展的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • 小程序实现轮播每次显示三条数据

    小程序实现轮播每次显示三条数据

    这篇文章主要为大家详细介绍了小程序实现轮播每次显示三条数据,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • 微信小程序如何处理token过期问题

    微信小程序如何处理token过期问题

    最近再做个项目,需要检查token过期,跳转到登录页面,要求用户重新登录,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • 批量下载对路网图片并生成html的实现方法

    批量下载对路网图片并生成html的实现方法

    下面小编就为大家带来一篇批量下载对路网图片并生成html的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考
    2016-06-06
  • js获取html文件的思路及示例

    js获取html文件的思路及示例

    html文件如何获取,有很多朋友对此表示疑问,在本文将为大家介绍下使用js的或许方法,感兴趣的朋友可以参考下,希望对大家有所帮助
    2013-09-09

最新评论