有趣的思路~~JS仿 WINXP 注銷桌面漸隱效果
更新時間:2006年10月24日 00:00:00 作者:
由于以前見很多人的這中仿XP漸隱效果都不是很逼真.我這幾天偶然想到了一個思路
..嘿嘿..很有趣哦
看看大家能看懂不~~應(yīng)該可以的吧~~HOHO..
思路概括一句話就是.. 不管整個文檔有多長,讓body的 滾動條消失,讓遮罩層覆蓋整個窗體可見區(qū)域!
這 '可見'二字非常重要哦!!
只大致的做出來效果..沒有很美化它..呵呵.剩下的 timeout 讓 遮罩漸變啦什么用的時候再加就好
下面是代碼
如果好的話.麻煩斑竹給加加分 .嘿嘿 tks哈
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
頁面里面總共有三個 按鈕的 onclick 事件 和一個 body 的 onresize 事件
當點擊 '點我' 那個按鈕的時候. js就執(zhí)行 cl 這個函數(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';
}
這個函數(shù)的意義就是
我讓 body 這個標簽的 overflow 屬性改為 ' hidden ' 很明顯,就是讓在body高度以外的 內(nèi)容隱藏...嘿嘿......
下一行 的意思也就足夠明顯啦.. 讓 body的高度 = 當前窗體的高度~~ 這樣由于 body 的 overflow = 'hidden' 了..那么我給 body一個當前窗體的高度的化,那么 滾動條不就消失了嗎??嘿嘿嘿...這樣給我下一步的陰謀創(chuàng)造了條件哦.~~~
obj.style.display = 'block';這一句就是 讓遮罩層顯出來拉~~然后在給遮罩層一個高度,這個高度就是 窗體的高度~~這樣的話..HOHO.......
這就讓文檔所有的內(nèi)容 都蓋到 遮罩層下面啦..~~~
然后 在給 body 的 onresize(當窗體大小改變時觸發(fā)的事件) 一個函數(shù) 就是判斷 遮罩層當前是否顯示啊..如果顯示的話就改遮罩層的大小等于當前窗體大小.否則什么都不執(zhí)行...HOHO
到這里大家應(yīng)該很清楚了吧
..嘿嘿..很有趣哦
看看大家能看懂不~~應(yīng)該可以的吧~~HOHO..
思路概括一句話就是.. 不管整個文檔有多長,讓body的 滾動條消失,讓遮罩層覆蓋整個窗體可見區(qū)域!
這 '可見'二字非常重要哦!!
只大致的做出來效果..沒有很美化它..呵呵.剩下的 timeout 讓 遮罩漸變啦什么用的時候再加就好
下面是代碼
如果好的話.麻煩斑竹給加加分 .嘿嘿 tks哈
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
頁面里面總共有三個 按鈕的 onclick 事件 和一個 body 的 onresize 事件
當點擊 '點我' 那個按鈕的時候. js就執(zhí)行 cl 這個函數(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';
}
這個函數(shù)的意義就是
我讓 body 這個標簽的 overflow 屬性改為 ' hidden ' 很明顯,就是讓在body高度以外的 內(nèi)容隱藏...嘿嘿......
下一行 的意思也就足夠明顯啦.. 讓 body的高度 = 當前窗體的高度~~ 這樣由于 body 的 overflow = 'hidden' 了..那么我給 body一個當前窗體的高度的化,那么 滾動條不就消失了嗎??嘿嘿嘿...這樣給我下一步的陰謀創(chuàng)造了條件哦.~~~
obj.style.display = 'block';這一句就是 讓遮罩層顯出來拉~~然后在給遮罩層一個高度,這個高度就是 窗體的高度~~這樣的話..HOHO.......
這就讓文檔所有的內(nèi)容 都蓋到 遮罩層下面啦..~~~
然后 在給 body 的 onresize(當窗體大小改變時觸發(fā)的事件) 一個函數(shù) 就是判斷 遮罩層當前是否顯示啊..如果顯示的話就改遮罩層的大小等于當前窗體大小.否則什么都不執(zhí)行...HOHO
到這里大家應(yīng)該很清楚了吧
相關(guān)文章
JavaScript設(shè)計模式學(xué)習(xí)之代理模式
這篇文章主要介紹了JavaScript設(shè)計模式學(xué)習(xí)之代理模式,對設(shè)計模式感興趣的同學(xué),可以參考下2021-04-04JavaScript高級程序設(shè)計 XML、Ajax 學(xué)習(xí)筆記
JavaScript高級程序設(shè)計 XML、Ajax 學(xué)習(xí)筆記,需要的朋友可以參考下。2011-09-09