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

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

見(jiàn)注釋里的提問(wèn),問(wèn)題還是給某個(gè)事件調(diào)用函數(shù)加不加括號(hào)的問(wèn)題;

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>practice</title>

<style type="text/css">

*{margin:0px;padding:0px;}

#div1 {position:relative;left:-200px;width:200px;height:200px;margin-top:50px;background-color: pink;}

#share{background-color:lightblue;width:20px;height:50px;position: absolute;left:200px;top:75px;}

</style>

<script type="text/javascript">

window.onload=function(){

var div1=document.getElementById("div1");

/*div1.onmouseover=startMove; */ /*不加括號(hào),就是正常的,鼠標(biāo)放上,開始移動(dòng);*/

div1.onmouseover=startMove(); /*為什么加了括號(hào)之后,一打開就開始移動(dòng),鼠標(biāo)不放上去也是移動(dòng)的;*/


};

var timer=null;

function startMove(){

var div1=document.getElementById("div1");

timer=setInterval(

function(){

if(div1.offsetLeft==0){clearInterval(timer)}

else {div1.style.left=div1.offsetLeft+10+'px'}}

? ,30);

}


</script>

</head>

<body>


<div id="div1">

<span id="share">分享</span>

</div>

</body>

</html>


正在回答

4 回答

首先弄清楚startMove; 和startMove();區(qū)別,第一個(gè)是函數(shù)本身,第二個(gè)是函數(shù)執(zhí)行的結(jié)果。

假設(shè)a = b + c,那此公式會(huì)先計(jì)算b+c再賦值給a。

我們看div1.onmouseover=startMove();,先計(jì)算startMove(),那么此時(shí)已經(jīng)運(yùn)行了startMove函數(shù)并執(zhí)行了函數(shù),所以一打開就會(huì)看到物體移動(dòng)的現(xiàn)象。而我們看div1.onmouseover=startMove;是將函數(shù)代碼本身賦值給前面,當(dāng)鼠標(biāo)經(jīng)過(guò)的時(shí)候,div1.onmouseover會(huì)變成如下所示:

div1.onmouseover=?function?startMove(){
????var?div1=document.getElementById("div1");
????timer=setInterval(function(){
????????if(div1.offsetLeft==0){clearInterval(timer)}
????????else?{div1.style.left=div1.offsetLeft+10+'px'}
??????},30);
};

如同,div1.onmouseover = function(){ alert("aaa");},成功執(zhí)行函數(shù)。

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

慕粉18221508921 提問(wèn)者

跟我想法一樣,大概是理解了,可能還不準(zhǔn)確
2016-11-20 回復(fù) 有任何疑惑可以回復(fù)我~

div1.onmouseover=startMove; /*不加括號(hào),就是正常的,鼠標(biāo)滑過(guò),開始移動(dòng),表示鼠標(biāo)滑過(guò),調(diào)用這個(gè)函數(shù)*/

div1.onmouseover=startMove();

/*加了括號(hào)之后,一打開就開始移動(dòng),表示,把函數(shù)執(zhí)行的結(jié)果給div1的鼠標(biāo)滑過(guò)事件,所以會(huì)去先執(zhí)行函數(shù),因?yàn)楹瘮?shù)執(zhí)行的結(jié)果就是offsetLeft==0,然后把這個(gè)結(jié)果給div1的鼠標(biāo)滑過(guò)事件,所以會(huì)出現(xiàn)一打開就跑,這是為了得到函數(shù)執(zhí)行的結(jié)果*/

這樣解釋對(duì)不對(duì)?


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

函數(shù)名加括號(hào)表示調(diào)用并執(zhí)行該函數(shù),你alert一下有括號(hào)和沒(méi)括號(hào),alert(startMove),,,alert(startMove())

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

函數(shù)名加括號(hào)表示調(diào)用并執(zhí)行該函數(shù),你alert一下有括號(hào)和沒(méi)括號(hào),alert(startMove),,,alert(startMove())

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

舉報(bào)

0/150
提交
取消
JS動(dòng)畫效果
  • 參與學(xué)習(xí)       113920    人
  • 解答問(wèn)題       1487    個(gè)

通過(guò)本課程JS動(dòng)畫的學(xué)習(xí),從簡(jiǎn)單動(dòng)畫開始,逐步深入各種動(dòng)畫框架封裝

進(jìn)入課程

見(jiàn)注釋里的提問(wèn),問(wèn)題還是給某個(gè)事件調(diào)用函數(shù)加不加括號(hào)的問(wèn)題;

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

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

幫助反饋 APP下載

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

公眾號(hào)

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