實現(xiàn)Javascript透明特效功能

實現(xiàn)Javascript透明特效功能

ID:38082069

大?。?8.00 KB

頁數(shù):6頁

時間:2019-05-24

實現(xiàn)Javascript透明特效功能_第1頁
實現(xiàn)Javascript透明特效功能_第2頁
實現(xiàn)Javascript透明特效功能_第3頁
實現(xiàn)Javascript透明特效功能_第4頁
實現(xiàn)Javascript透明特效功能_第5頁
資源描述:

《實現(xiàn)Javascript透明特效功能》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、實現(xiàn)Javascript透明特效代碼可控式Javascript透明特效也就是透明度可以自行設(shè)置,但是這種方法在IE7下極有可能失效,不過這些東西對大家了解Javascript透明特效還是有所幫助的。Javascript透明特效是script.aculo.us提到的特效中最簡單的特效之一。既然是特效,必須涉及時間與空間的概念。時間我們可以用setTimeout與setInterval,個人比較喜歡setTimeout,雖然它每次調(diào)用都重復(fù)注冊,但可控性比較好??臻g就全憑CSS的絕對定位實現(xiàn)位移了。在開始之前,我們練習(xí)一下setTimeout的遞歸用法(用來模擬setInterval)

2、。01.functiontext(el){02.??varnode?=(typeofel=="string")?document.getElementById(el):el;03.??vari=0;04.??varrepeat=function(){05.????setTimeout(function(){06.??????node.innerHTML="

"+i+"

";07.??????i++;08.??????if(i<=100){09.????????setTimeout(arguments.callee,100);10.??????}11.????},100

3、)12.??}13.??repeat();14.}我們來試一下最簡單的淡入特效,就是把node.innerHTML那一行改成透明度的設(shè)置。01.functionfadeIn(el){02.??varnode?=(typeofel=="string")?document.getElementById(el):el;03.??vari=0;04.??varfade=function(){05.????setTimeout(function(){?????06.????????!+"v1"?(node.style.filter="alpha(opacity="+i+")"):(node

4、.style.opacity=i/100);07.??????i++;08.??????if(i<=100){09.????????setTimeout(arguments.callee,100);10.??????}11.????},100)12.??}13.??fade();14.}但是這樣并不完美,因為IE的濾鏡可能會在IE7中失效,我們必須要用zoom=1來激活hasLayout。我們再添加一些可制定參數(shù)擴充它。注釋已經(jīng)非常詳細,不明白在留言里再問我吧。01.functionopacity(el){02.??//必選參數(shù)03.??varnode?=(typeofel=="s

5、tring")?document.getElementById(el):el,04.??//可選參數(shù)05.??options=arguments[1]

6、

7、{},06.??//變化的持續(xù)時間07.??duration=options.duration

8、

9、1.0,08.??//開始時透明度09.??from=options.from

10、

11、0.0,10.??//結(jié)束時透明度11.??to=options.to

12、

13、0.5,12.??operation=1,13.??init=0;14.??if(to-from<0){15.????operation=-1,16.????init=1;17.?

14、?}18.??//內(nèi)部參數(shù)19.??//setTimeout執(zhí)行的間隔時間,單位毫秒20.??varfrequency=100,21.??//設(shè)算重復(fù)調(diào)用的次數(shù)22.??count=duration*1000/frequency,23.??//設(shè)算每次透明度的遞增量24.??detal=Math.abs(to-from)?/count,25.??//正在進行的次數(shù)26.??i=0;27.??varmain=function(){28.????setTimeout(function(){29.??????if(!+"v1"){30.????????if(node.currentSt

15、yle.hasLayout)?node.style.zoom=1;//防止濾鏡失效31.????????node.style.filter="alpha(opacity="+(init*100+operation*detal*i*100).toFixed(1)+")"32.??????}else{33.????????node.style.opacity=?(init+operation*detal*i).toFixed(3)34.??????}35.??????no

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。