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

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

請(qǐng)問(wèn)我的為什么實(shí)現(xiàn)不了?

<!Doctype html>

<html>

<head>

? <meta charset="utf-8">

? <title>js透明度變化</title>

? <style>

? ? div{width:200px;height:200px;background:#0f0;opacity:0.2;}

? </style>

</head>

<body>

<script> ?

? var newdiv=document.createElement("div");

? document.body.appendChild(newdiv);

? var timer=null;

? newdiv.onmouseover=function(){

?fadeToogle(1);

? }

? newdiv.onmouseout=function(){

?fadeToogle(0.2);

? }

? function fadeToogle(iTarget){

?if(timer){

?clearInterval(timer);

?}

?timer=setInterval(function(){

var speed;

if(newdiv.style.opacity>iTarget){

speed=-0.05;

}

if(newdiv.style.opacity<iTarget){

speed=0.05;

}

if(newdiv.style.opacity==iTarget){

? ?clearInterval(timer);

? ?}else{

? ?newdiv.style.opacity+=speed;

? ?}

?},30)

? }

</script>

</body>

</html>


正在回答

3 回答

原諒我根本沒(méi)看到你的div在哪里??

我不敢相信你前面的都學(xué)會(huì)了??

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

小幸運(yùn)17

我收回我的回答,我看錯(cuò)了。sorry
2016-07-22 回復(fù) 有任何疑惑可以回復(fù)我~

這個(gè)用jQuery的toggleClass就簡(jiǎn)單了,可以看一下


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

簡(jiǎn)單看了下,代碼的邏輯是通過(guò)JS創(chuàng)建個(gè)DIV,插入到body中,然后希望鼠標(biāo)移入時(shí)透明度變?yōu)?,移出時(shí)再把透明度變回來(lái),但此代碼有幾個(gè)致命錯(cuò)誤,反映出樓主要對(duì)基本概念的理解要加強(qiáng)。

1、通過(guò)創(chuàng)建插入的方法沒(méi)有錯(cuò),但是,這個(gè)時(shí)候創(chuàng)建的這個(gè)div有沒(méi)有opacity屬性呢?由newdiv.style.opacity可看出,樓主希望通過(guò)這個(gè)方法來(lái)獲取div的opacity屬性。但是,這個(gè)對(duì)象本身并沒(méi)有這個(gè)屬性啊,原因是樓主并沒(méi)有通過(guò)newdiv.setAttribute來(lái)設(shè)置這個(gè)opacity屬性。樓主可能認(rèn)為在樣式表中寫(xiě)了opacity:0.2,沒(méi)錯(cuò),但那并不是newdiv這個(gè)對(duì)象的屬性,別忘了,js中一切都是對(duì)象,沒(méi)有的屬性怎么得到?由對(duì)象的概念來(lái)解釋newdiv.style.opacity就是newdiv對(duì)象的style屬性下的opacity屬性,此時(shí)的newdiv沒(méi)有這個(gè)屬性。一句話總結(jié):newdiv.style.opacity獲取的是行間樣式,并不能取到樣式表中的值,原回很簡(jiǎn)單,也很基礎(chǔ),就是對(duì)對(duì)象的理解要到位。

2、if(timer){clearInterval(timer)},樓主希望通過(guò)些判斷來(lái)清除計(jì)時(shí)器來(lái)達(dá)到清除定時(shí)器的效果。但事實(shí)上是清除不掉的。重申一遍,js里一切都是對(duì)象,函數(shù)也不例外,對(duì)于對(duì)象的引用僅僅是指針的引用。那么移入時(shí)的過(guò)程就是:指向匿名函數(shù),調(diào)用fadeToggle函數(shù)時(shí)指針指向它,以后的過(guò)程都一樣。進(jìn)入fadeToggle函數(shù)時(shí)判斷timer變里的布爾類(lèi)型,首次是null,然后給他賦值了一個(gè)計(jì)時(shí)器,關(guān)鍵的是,計(jì)時(shí)器是什么?沒(méi)錯(cuò),是對(duì)象,那么全局變量對(duì)他的引用就是一個(gè)地址的引用,再次進(jìn)入時(shí)企圖判斷timer的布爾類(lèi)型清掉計(jì)時(shí)器,那么這時(shí)候清掉的是什么??jī)H僅是一個(gè)指針,而原來(lái)作用域鏈上的計(jì)時(shí)器并沒(méi)有被清掉,所以在控制臺(tái)里查看時(shí),timer的個(gè)數(shù)(也就是計(jì)時(shí)器的個(gè)數(shù))總是隨鼠標(biāo)移入移出的次數(shù)而增加。

3、理解了上面基本上也就能找到解決方案了,還有一個(gè)地方也要注意下,就是函數(shù)作用域鏈的問(wèn)題。鼠標(biāo)移入時(shí)觸發(fā)了一個(gè)匿名函數(shù),匿名函數(shù)又調(diào)用fadeToggle函數(shù),fadeToggle函數(shù)中又有一個(gè)定時(shí)器,定時(shí)器里還有一個(gè)匿名函數(shù),這一系列的函數(shù)串在一起就是形成了一個(gè)作用域鏈,這個(gè)作用域鏈并沒(méi)有因?yàn)槭髽?biāo)的移出而銷(xiāo)毀掉,因?yàn)橛?jì)時(shí)器里的匿名函數(shù)始終在被引用,所以不可能銷(xiāo)毀,除非我們將這個(gè)計(jì)時(shí)器給清掉,注意一定是清掉此條作用域鏈下的計(jì)時(shí)器。

聲明,本人也是一個(gè)初學(xué)者,有不當(dāng)之處還請(qǐng)指點(diǎn)!開(kāi)始也是看視頻練這些東西,但后來(lái)發(fā)現(xiàn)基礎(chǔ)的原理不掌握實(shí)在是舉步難行,所以放棄學(xué)這些,拿著書(shū)看原理,看完原理的東西再看這些一切都變得如此簡(jiǎn)單,說(shuō)來(lái)說(shuō)去就那么點(diǎn)東西,雖然這段代碼并沒(méi)有親自實(shí)驗(yàn)

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

Alphonse丿 提問(wèn)者

newdiv是這個(gè)div的什么屬性?還是什么
2016-06-23 回復(fù) 有任何疑惑可以回復(fù)我~
#2

幽雪孤狐 回復(fù) Alphonse丿 提問(wèn)者

.....newdiv是document.createElement的一個(gè)實(shí)例化對(duì)象
2016-06-23 回復(fù) 有任何疑惑可以回復(fù)我~
#3

幽雪孤狐 回復(fù) Alphonse丿 提問(wèn)者

哥們,真的建議要看一下書(shū)。打個(gè)比方,理論核心是內(nèi)功,框架,模板,視頻教程都是招式,招式再厲害沒(méi)有內(nèi)功打底很容易迷茫。就像虛竹,沒(méi)有無(wú)涯子的內(nèi)功前就是一坨,有了內(nèi)功后學(xué)任何招式都很簡(jiǎn)單。不要學(xué)鳩摩智,只會(huì)少林72絕技的招式,而沒(méi)有少林內(nèi)功的驅(qū)動(dòng)最終只能走火入魔。
2016-06-23 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

請(qǐng)問(wèn)我的為什么實(shí)現(xià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)