最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript編寫點擊查看大圖的頁面半透明遮罩層效果實例

 更新時間:2016年05月09日 18:07:16   作者:次碳酸鈷  
這篇文章主要介紹了JavaScript制作點擊查看大圖的頁面遮罩層效果實例,透明部分這里使用的是CSS3的rgba,兼容性還是過得去的,需要的朋友可以參考下

 這個效果用的很頻繁,經(jīng)常都會有人問我這個問題,所以要把它寫成文章。下次再有人問就直接把這篇文章的URL丟出去就好了。這個效果很簡單所以我就不做太多說明了,具體的看看代碼注釋就會明白。下面就是全部代碼,復(fù)制到HTML中就可以運行的。

<!DOCTYPE html>
<style>
#mask {
 position:fixed;width:100%;
 top:0px;left:0px;
 _position:absolute;
 _top:expression(documentElement.scrollTop);
 background:rgba(0,0,0,0.5);
 background:transparent\9;
 filter:progid:DXImageTransform.Microsoft.Gradient(
 startColorStr=#80000000,endColorStr=#80000000
 );
 display:none;
}
#mask_td {text-align:center;}
</style>
<img
 src="http://web-tinker.com/images/TheMagicConch.jpg"
 width="100" id="img" 
/>
<table id="mask"><tr><td id="mask_td"></td></tr></table>
<script>
//判斷瀏覽器
var isIE=navigator.userAgent.match(/MSIE (\d)/i);
isIE=isIE?isIE[1]:isIE;
//聲明變量
var img,mask;
//獲取元素
img=document.getElementById("img");
mask=document.getElementById("mask");
mask.td=document.getElementById("mask_td");
//計算mask的大小
mask.setSize=function(){
 //獲取文檔可見區(qū)域?qū)挾炔⒃O(shè)置到mask上
 var de=document.documentElement;
 mask.style.width=de.clientWidth+"px"
 mask.style.height=de.clientHeight+"px";
};
//添加show方法
mask.show=function(){
 //隱藏頁面的滾動條
 document[
 isIE<9?"documentElement":"body"
 ].style.overflow="hidden";
 //計算mask的大小
 mask.setSize();
 //顯示
 mask.style.display=isIE==6?"block":"table";
};
//添加hide方法
mask.hide=function(){
 //顯示頁面滾動條
 document[
 isIE<9?"documentElement":"body"
 ].style.overflow="";
 //清空里面的內(nèi)容
 mask.td.innerHTML="";
 //隱藏
 mask.style.display="none";
};
//添加append方法
mask.append=function(e){
 //在mask的TD里面添加內(nèi)容哦你
 mask.td.appendChild(e);
};
//點擊mask關(guān)閉
mask.onclick=function(e){
 //判斷事件來源,如果是空白區(qū)域被點擊了就關(guān)閉mask
 e=e||event;
 (e.target||e.srcElement)==mask.td&&mask.hide();
};
//窗體大小改變時也改變mask的大小
window.onresize=function(){
 mask.setSize();
};
//點擊圖片的事件
img.onclick=function(){
 //創(chuàng)建一個圖片對象
 var o=new Image;
 //設(shè)置圖片的地址
 o.src=img.src;
 //在mask內(nèi)添加內(nèi)容
 mask.append(o);
 //顯示mask
 mask.show();
};
</script>

  這個效果是沒有什么難點了,最困難的也許就是半透明的實現(xiàn)了吧。CSS3的opacity和IE的alpha都可以實現(xiàn)半透明,但是那是整個元素的半透明。使用那種方法就意味著子元素也被半透明了,所以我們必須把透明設(shè)置到背景上,而不是整個元素上。CSS3中可以直接使用rgba來設(shè)置。IE中沒有這樣的方法,但是可以使用漸變?yōu)V鏡來代替它,因為漸變?yōu)V鏡也是支持透明的。還有,在IE9中,同時兼容CSS3的透明和濾鏡的透明,如果兩個都使用,頁面的透明度就會不對。所以我們在IE9中屏蔽了其中一種透明效果。
  還有一點問題就是兼容IE6的,IE6不支持fixed所以我們需要使用absolute和動態(tài)設(shè)置top來兼容它。然后就是mask的大小計算問題,這個也存在一個瀏覽器差異,其實這個效果中的瀏覽器差異問題還是挺大的,不過都是一些小問題看到了就會明白沒有長篇大論的必要。

相關(guān)文章

  • 詳解JavaScript基于面向?qū)ο笾畡?chuàng)建對象(1)

    詳解JavaScript基于面向?qū)ο笾畡?chuàng)建對象(1)

    這篇文章主要介紹了JavaScript基于面向?qū)ο笾畡?chuàng)建對象,對創(chuàng)建對象進行了詳細描述,感興趣的小伙伴們可以參考一下
    2015-12-12
  • js播放wav文件(源碼)

    js播放wav文件(源碼)

    如何用JS播放wav文件,理論上用js在網(wǎng)頁里嵌入一個window播放器的插件,可以播放的。,不過通用性不是很好,IE下可以用,感興趣的朋友可以參考下哈本文
    2013-04-04
  • 理解JavaScript設(shè)計模式中的單例模式

    理解JavaScript設(shè)計模式中的單例模式

    這篇文章主要介紹了理解JavaScript設(shè)計模式中的單例模式,單例模式即Singleton?Pattern是最簡單的設(shè)計模式之一,下文更多相關(guān)介紹感興趣的小伙伴可以參考一下
    2022-04-04
  • js定時器不準確問題的解決方法

    js定時器不準確問題的解決方法

    本文主要介紹了js定時器不準確問題的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 如何實現(xiàn)一個webpack模塊解析器

    如何實現(xiàn)一個webpack模塊解析器

    這篇文章主要介紹了如何實現(xiàn)一個webpack模塊解析器,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • bootstrap表格內(nèi)容過長時用省略號表示的解決方法

    bootstrap表格內(nèi)容過長時用省略號表示的解決方法

    這篇文章主要介紹了bootstrap表格內(nèi)容過長時用省略號表示的解決方法,需要的朋友可以參考下
    2017-11-11
  • Javascript中call,apply,bind方法的詳解與總結(jié)

    Javascript中call,apply,bind方法的詳解與總結(jié)

    本文主要Javascript中call,apply,bind方法的進行全面分析,并在文章結(jié)尾對call,apply,bind方法的聯(lián)系和區(qū)別做了總結(jié),具有很好的參考價值,需要的朋友一起來看下吧
    2016-12-12
  • BootStrap表單時間選擇器詳解

    BootStrap表單時間選擇器詳解

    這篇文章主要為大家詳細介紹了BootStrap表單時間選擇器的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • js實現(xiàn)批量刪除功能

    js實現(xiàn)批量刪除功能

    這篇文章主要為大家詳細介紹了js實現(xiàn)批量刪除功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • JSON 的正確用法探討:Pyhong、MongoDB、JavaScript與Ajax

    JSON 的正確用法探討:Pyhong、MongoDB、JavaScript與Ajax

    這篇文章主要介紹了JSON 的正確用法探討:Pyhong、MongoDB、JavaScript與Ajax的相關(guān)資料,具有參考借鑒價值,需要的朋友一起學(xué)習(xí)吧
    2016-05-05

最新評論

铁力市| 东兰县| 康定县| 安阳市| 怀远县| 广昌县| 蓬莱市| 岢岚县| 罗源县| 莎车县| 和龙市| 蕉岭县| 台湾省| 霍林郭勒市| 汾西县| 龙游县| 云南省| 噶尔县| 巴彦县| 城市| 清河县| 昌平区| 彭州市| 合阳县| 石柱| 和顺县| 思茅市| 凤山县| 凤阳县| 吉安市| 会东县| 齐河县| 彭水| 平果县| 绍兴市| 大安市| 阜新| 依安县| 衡东县| 尖扎县| 通山县|