第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

this問題,老師在startMove中用了this,我想換一種方法,所以把this改為了aLi[i] 然后就不能用了,大神們教教我該把this改成什么?

<!DOCTYPE html>/*this問題,老師在startMove中用了this,我想換一種方法,所以把this改為了aLi[i] ? 然后就不能用了,大神們教教我該把this改成什么?*/
<html>
<head lang="en">
? ?<meta charset="UTF-8">
? ?<title>多物體運(yùn)動(dòng)</title>
? ?<style>
? ? ? body, ul,li{
? ? ? ? ? ?padding: 0;
? ? ? ? ? ?margin: 0;
? ? ? ?}
? ? ? ?ul,li
{
? ? ? ? ? ?list-style:none;
? ? ? ?}
? ? ? ?ul li
{
? ? ? ? ? ?width: 200px;
? ? ? ? ? ?height: 100px;
? ? ? ? ? ?background: yellow;
? ? ? ? ? ?margin-bottom: 20px;
? ? ? ?}
? ?</style>
? ?<script>
? ? ? ?window.onload=function()
? ? ? ?{
? ? ? ? ? ?var aLi=document.getElementsByTagName('li');
? ? ? ? ? ?for(var i=0;i<aLi.length;i++)
? ? ? ? ? ?{
? ? ? ? ? ? ? ?aLi[i].timer=null;/*從來都沒有定義過變量timer,居然能用,這里是不是順便定義了?*/
aLi[i].onmouseover=function()
? ? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ? ?startMove(this,400);
} ? ? ? ? ? ? ? ? ? ? ? /* this到底指的是哪里?*/
aLi[i].onmouseout=function()
? ? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ? ?startMove(this,200);
? ? ? ? ? ? ? ?}

? ? ? ? ? ?}
? ? ? ?}
? ? ? ?/*var timer=null;*/
function startMove(obj,iTarget)
? ? ? ?{
? ? ? ? ? ?clearInterval(obj.timer);
? ? ? ? ? ?obj.timer=setInterval(function(){
? ? ? ? ? ? ? ?var speed=(iTarget - obj.offsetWidth)/8;/*實(shí)現(xiàn)緩沖運(yùn)動(dòng)*/
speed=speed>0?Math.ceil(speed):Math.floor(speed);
? ? ? ? ? ? ? ?if(obj.offsetWidth==iTarget)
? ? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ? ?clearInterval(obj.timer);
? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ?else{
? ? ? ? ? ? ? ? ? ?obj.style.width=obj.offsetWidth+speed+'px';
? ? ? ? ? ? ? ?}
? ? ? ? ? ?},30)
? ? ? ?}
? ?</script>
</head>
<body>
<ul>
? ?<li></li>
? ?<li></li>
? ?<li></li>
</ul>
</body>
</html>

正在回答

3 回答

簡單說for循環(huán)中的變量i只在其內(nèi)部有效;當(dāng)其他函數(shù)調(diào)用時(shí)i的值只能取到循環(huán)后的最后一個(gè)值,而this是指的調(diào)用的函數(shù),具體可以百度多搜搜this的用法;個(gè)人見解!

0 回復(fù) 有任何疑惑可以回復(fù)我~

我提問中的代碼是老師的代碼,老師的代碼用了this,是正確的?,F(xiàn)在我把代碼中的for循環(huán)改成了這樣,然后鼠標(biāo)移上去,和離開就沒反應(yīng)了,還是不對,我可能理解錯(cuò)你的意思了。。。大神方便再修改一下嗎?感激不盡

for(var i=0;i<aLi.length;i++)
{
?aLi[i].index=i;
? ?i.timer=null;
? ?{
? ? ? ?startMove(i,400);
? ?} ? ? ? ? ? ? ? ?
? ?i.onmouseout=function()
? ?{
? ? ? ?startMove(i,200);
? ?}

0 回復(fù) 有任何疑惑可以回復(fù)我~

this 指觸發(fā)的這個(gè)JS事件的載體;如果一定要用for ?循壞綁定事件的話,要在for循環(huán)中定義一個(gè)索引值,在后面綁定事件中用到這個(gè)索引:for(){a[i].index=i}

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

守望6 提問者

我提問中的代碼是老師的代碼,老師的代碼用了this,是正確的?,F(xiàn)在我把代碼中的for循環(huán)改成了這樣,然后鼠標(biāo)移上去,和離開就沒反應(yīng)了,還是不對,我可能理解錯(cuò)你的意思了。。。大神方便再修改一下嗎?感激不盡 for(var i=0;i<aLi.length;i++) { aLi[i].index=i; i.timer=null; { startMove(i,400); } i.onmouseout=function() { startMove(i,200); } }
2016-10-20 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

this問題,老師在startMove中用了this,我想換一種方法,所以把this改為了aLi[i] 然后就不能用了,大神們教教我該把this改成什么?

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號