国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

一個javascript參數的小問題

2019-11-21 01:48:19
字體:
來源:轉載
供稿:網友
以下是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) 這個函數接收參數???

定時器好像沒有絲毫作用
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 双牌县| 天柱县| 大荔县| 台州市| 安徽省| 大悟县| 镇江市| 凉城县| 郯城县| 佛冈县| 津市市| 宜都市| 永胜县| 宜宾市| 福贡县| 防城港市| 五台县| 英吉沙县| 通许县| 哈尔滨市| 积石山| 开封县| 东兰县| 襄汾县| 察隅县| 彩票| 武夷山市| 湖州市| 廉江市| 平塘县| 武陟县| 醴陵市| 临安市| 泰来县| 威宁| 德安县| 隆子县| 无锡市| 临湘市| 临清市| 凉城县|