一個javascript參數(shù)的小問題
更新時間:2008年03月02日 14:15:31 作者:
一個javascript參數(shù)的小問題
以下是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>
問題
如果使用參數(shù)layer1、layer2、layer3、layer4,則每次都不成功,提示'layername' is undefined
如果將javascript里的layername換成div的id值就能成功,但如果這樣javascript程序就會很多
請問怎樣才能正確的使用參數(shù)的形式?
解決方法:
movement = setTimeout("animation()",0)
這個地方?jīng)]有給animation()傳參數(shù)過去
而定義的animation()函數(shù)也沒有接受參數(shù),但是又用
var layer = document.getElementById(layername);
來接收layername 這個變量
錯誤地理解了閉包?想從 function show(layername) 這個函數(shù)接收參數(shù)???
定時器好像沒有絲毫作用
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>
問題
如果使用參數(shù)layer1、layer2、layer3、layer4,則每次都不成功,提示'layername' is undefined
如果將javascript里的layername換成div的id值就能成功,但如果這樣javascript程序就會很多
請問怎樣才能正確的使用參數(shù)的形式?
解決方法:
movement = setTimeout("animation()",0)
這個地方?jīng)]有給animation()傳參數(shù)過去
而定義的animation()函數(shù)也沒有接受參數(shù),但是又用
var layer = document.getElementById(layername);
來接收layername 這個變量
錯誤地理解了閉包?想從 function show(layername) 這個函數(shù)接收參數(shù)???
定時器好像沒有絲毫作用
相關(guān)文章
?javascript數(shù)組中的slice方法和join??方法
這篇文章主要介紹了?javascript數(shù)組中的slice方法和join??方法,文章內(nèi)容介紹詳細(xì),具有一的參考價值,需要的小伙伴可以參考一下,希望對你的學(xué)習(xí)有所幫助2022-03-03
解決使用layui的時候form表單中的select等不能渲染的問題
今天小編就為大家分享一篇解決使用layui的時候form表單中的select等不能渲染的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
小程序?qū)崿F(xiàn)輪播每次顯示三條數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)輪播每次顯示三條數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-06-06
批量下載對路網(wǎng)圖片并生成html的實現(xiàn)方法
下面小編就為大家?guī)硪黄肯螺d對路網(wǎng)圖片并生成html的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考2016-06-06

