一个javascript参数的小问题


Posted in Javascript onMarch 02, 2008

以下是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">      <a href="#" onmouseover="show('layer1');">我的好友</a></li>
     <li id="mydocument">      <a href="#" onmouseover="show('layer2');">我的资料</a></li>
     <li id="myalbum">      <a href="#" onmouseover="show('layer3');">我的相册</a></li>
     <li id="myarticles">      <a href="#" onmouseover="show('layer4');">我的文章</a></li>
  </ul>
</div>
<div id="layer1" class="clearfloat"> </div>
<div id="layer2" class="clearfloat"> </div>
<div id="layer3" class="clearfloat"> </div>
<div id="layer4" class="clearfloat"> </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 相关文章推荐
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
Apr 07 Javascript
js点击出现悬浮窗效果不使用JQuery插件
Jan 20 Javascript
node.js中的buffer.slice方法使用说明
Dec 10 Javascript
jQuery垂直多级导航菜单代码分享
Aug 18 Javascript
JS中Eval解析JSON字符串的一个小问题
Feb 21 Javascript
浅谈使用splice函数对数组中的元素进行删除时的注意事项
Dec 04 Javascript
JavaScript中英文字符长度统计方法示例【按照中文占2个字符】
Jan 17 Javascript
浅谈react.js 之 批量添加与删除功能
Apr 17 Javascript
JavaScript数据结构与算法之检索算法示例【二分查找法、计算重复次数】
Feb 22 Javascript
js实现随机抽奖
Mar 19 Javascript
vue中实现图片压缩 file文件的方法
May 28 Javascript
vue3中轻松实现switch功能组件的全过程
Jan 07 Vue.js
js加解密 脚本解密
Feb 22 #Javascript
JS应用之禁止抓屏、复制、打印
Feb 21 #Javascript
js 调整select 位置的函数
Feb 21 #Javascript
js 替换
Feb 19 #Javascript
javascript replace方法与正则表达式
Feb 19 #Javascript
window.addeventjs事件驱动函数集合addEvent等
Feb 19 #Javascript
setAttribute 与 class冲突解决
Feb 17 #Javascript
You might like
聊天室php&amp;mysql(六)
2006/10/09 PHP
需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
2008/05/26 PHP
PHP防止跨域提交表单
2013/11/01 PHP
php绘制圆形的方法
2015/01/24 PHP
让任务管理器中的CPU跳舞的js代码
2008/11/01 Javascript
js 数据类型转换总结笔记
2011/01/17 Javascript
一个简单的js树形菜单
2011/12/09 Javascript
JavaScript中getUTCMinutes()方法的使用详解
2015/06/10 Javascript
JS实现转动随机数抽奖特效代码
2020/04/16 Javascript
12种JavaScript常用的MVC框架比较分析
2015/11/16 Javascript
angular-ui-sortable实现可拖拽排序列表
2016/12/28 Javascript
Node.js的特点详解
2017/02/03 Javascript
详解RequireJS按需加载样式文件
2017/04/12 Javascript
Vue.directive()的用法和实例详解
2018/03/04 Javascript
JS使用正则表达式获取小括号、中括号及花括号内容的方法示例
2018/06/01 Javascript
es6 filter() 数组过滤方法总结
2019/04/03 Javascript
微信小程序实现商城倒计时
2020/11/01 Javascript
使用Layui搭建后台管理界面的操作方法
2019/09/20 Javascript
Python删除空文件和空文件夹的方法
2015/07/14 Python
解析Python编程中的包结构
2015/10/25 Python
Python首次安装后运行报错(0xc000007b)的解决方法
2016/10/18 Python
django+xadmin+djcelery实现后台管理定时任务
2018/08/14 Python
基于python的socket实现单机五子棋到双人对战
2020/03/24 Python
django formset实现数据表的批量操作的示例代码
2019/12/06 Python
No module named ‘win32gui‘ 的解决方法(踩坑之旅)
2021/02/18 Python
对Pytorch 中的contiguous理解说明
2021/03/03 Python
使用CSS3的::selection改变选中文本颜色的方法
2015/09/29 HTML / CSS
北美大型运动类产品商城:Champs Sports
2017/01/12 全球购物
苏格兰销售女装、男装和童装的连锁店:M&Co
2018/03/16 全球购物
SQL Server提供的3种恢复模型都是什么? 有什么区别?
2012/05/13 面试题
运动会解说词100字
2014/01/31 职场文书
高中生第一学年自我鉴定
2014/09/12 职场文书
小学班主任研修日志
2015/11/13 职场文书
五年级数学教学反思
2016/02/16 职场文书
2019个人工作总结
2019/06/21 职场文书
python图片灰度化处理的几种方法
2021/06/23 Python