有趣的思路~~JS仿 WINXP 注銷桌面漸隱效果
更新時(shí)間:2006年10月24日 00:00:00 作者:
由于以前見很多人的這中仿XP漸隱效果都不是很逼真.我這幾天偶然想到了一個(gè)思路
..嘿嘿..很有趣哦
看看大家能看懂不~~應(yīng)該可以的吧~~HOHO..
思路概括一句話就是.. 不管整個(gè)文檔有多長(zhǎng),讓body的 滾動(dòng)條消失,讓遮罩層覆蓋整個(gè)窗體可見區(qū)域!
這 '可見'二字非常重要哦!!
只大致的做出來效果..沒有很美化它..呵呵.剩下的 timeout 讓 遮罩漸變啦什么用的時(shí)候再加就好
下面是代碼
如果好的話.麻煩斑竹給加加分 .嘿嘿 tks哈
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
頁(yè)面里面總共有三個(gè) 按鈕的 onclick 事件 和一個(gè) body 的 onresize 事件
當(dāng)點(diǎn)擊 '點(diǎn)我' 那個(gè)按鈕的時(shí)候. js就執(zhí)行 cl 這個(gè)函數(shù)
function cl(){
document.body.style.overflow = 'hidden';
document.body.style.height = document.documentElement.clientHeight + 'px';
obj.style.display = 'block';
obj.style.height = document.documentElement.clientHeight + 'px';
}
這個(gè)函數(shù)的意義就是
我讓 body 這個(gè)標(biāo)簽的 overflow 屬性改為 ' hidden ' 很明顯,就是讓在body高度以外的 內(nèi)容隱藏...嘿嘿......
下一行 的意思也就足夠明顯啦.. 讓 body的高度 = 當(dāng)前窗體的高度~~ 這樣由于 body 的 overflow = 'hidden' 了..那么我給 body一個(gè)當(dāng)前窗體的高度的化,那么 滾動(dòng)條不就消失了嗎??嘿嘿嘿...這樣給我下一步的陰謀創(chuàng)造了條件哦.~~~
obj.style.display = 'block';這一句就是 讓遮罩層顯出來拉~~然后在給遮罩層一個(gè)高度,這個(gè)高度就是 窗體的高度~~這樣的話..HOHO.......
這就讓文檔所有的內(nèi)容 都蓋到 遮罩層下面啦..~~~
然后 在給 body 的 onresize(當(dāng)窗體大小改變時(shí)觸發(fā)的事件) 一個(gè)函數(shù) 就是判斷 遮罩層當(dāng)前是否顯示啊..如果顯示的話就改遮罩層的大小等于當(dāng)前窗體大小.否則什么都不執(zhí)行...HOHO
到這里大家應(yīng)該很清楚了吧
..嘿嘿..很有趣哦
看看大家能看懂不~~應(yīng)該可以的吧~~HOHO..
思路概括一句話就是.. 不管整個(gè)文檔有多長(zhǎng),讓body的 滾動(dòng)條消失,讓遮罩層覆蓋整個(gè)窗體可見區(qū)域!
這 '可見'二字非常重要哦!!
只大致的做出來效果..沒有很美化它..呵呵.剩下的 timeout 讓 遮罩漸變啦什么用的時(shí)候再加就好
下面是代碼
如果好的話.麻煩斑竹給加加分 .嘿嘿 tks哈
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
頁(yè)面里面總共有三個(gè) 按鈕的 onclick 事件 和一個(gè) body 的 onresize 事件
當(dāng)點(diǎn)擊 '點(diǎn)我' 那個(gè)按鈕的時(shí)候. js就執(zhí)行 cl 這個(gè)函數(shù)
復(fù)制代碼 代碼如下:
function cl(){
document.body.style.overflow = 'hidden';
document.body.style.height = document.documentElement.clientHeight + 'px';
obj.style.display = 'block';
obj.style.height = document.documentElement.clientHeight + 'px';
}
這個(gè)函數(shù)的意義就是
我讓 body 這個(gè)標(biāo)簽的 overflow 屬性改為 ' hidden ' 很明顯,就是讓在body高度以外的 內(nèi)容隱藏...嘿嘿......
下一行 的意思也就足夠明顯啦.. 讓 body的高度 = 當(dāng)前窗體的高度~~ 這樣由于 body 的 overflow = 'hidden' 了..那么我給 body一個(gè)當(dāng)前窗體的高度的化,那么 滾動(dòng)條不就消失了嗎??嘿嘿嘿...這樣給我下一步的陰謀創(chuàng)造了條件哦.~~~
obj.style.display = 'block';這一句就是 讓遮罩層顯出來拉~~然后在給遮罩層一個(gè)高度,這個(gè)高度就是 窗體的高度~~這樣的話..HOHO.......
這就讓文檔所有的內(nèi)容 都蓋到 遮罩層下面啦..~~~
然后 在給 body 的 onresize(當(dāng)窗體大小改變時(shí)觸發(fā)的事件) 一個(gè)函數(shù) 就是判斷 遮罩層當(dāng)前是否顯示啊..如果顯示的話就改遮罩層的大小等于當(dāng)前窗體大小.否則什么都不執(zhí)行...HOHO
到這里大家應(yīng)該很清楚了吧
您可能感興趣的文章:
相關(guān)文章
在JavaScript中監(jiān)聽I(yíng)ME鍵盤輸入事件
在 JavaScript 中監(jiān)聽用戶的鍵盤輸入是很容易的事情,但用戶一旦使用了輸入法,問題就變得復(fù)雜了。2011-05-05JavaScript設(shè)計(jì)模式學(xué)習(xí)之代理模式
這篇文章主要介紹了JavaScript設(shè)計(jì)模式學(xué)習(xí)之代理模式,對(duì)設(shè)計(jì)模式感興趣的同學(xué),可以參考下2021-04-04avalonjs實(shí)現(xiàn)仿微博的圖片拖動(dòng)特效
JavaScript實(shí)現(xiàn)仿微博的圖片拖動(dòng)特效,貌似這些天有不少朋友需要這功能,今天發(fā)現(xiàn)這款是js制作的好,不敢獨(dú)享,希望需要的朋友喜歡哦。2015-05-05微信小程序?qū)崿F(xiàn)左右列表聯(lián)動(dòng)
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)左右列表聯(lián)動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02JavaScript高級(jí)程序設(shè)計(jì) XML、Ajax 學(xué)習(xí)筆記
JavaScript高級(jí)程序設(shè)計(jì) XML、Ajax 學(xué)習(xí)筆記,需要的朋友可以參考下。2011-09-09js實(shí)現(xiàn)div閃爍原理及實(shí)現(xiàn)代碼
閃爍的原理是什么呢:其實(shí)就一個(gè),display在none與block之間頻繁的交替,這樣說你明白了么,示例代碼如下,希望對(duì)大家有所幫助2014-06-06