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

實(shí)現(xiàn)lightBox時(shí)的樣式與行為分離減少JS第1/2頁

 更新時(shí)間:2009年07月27日 22:04:09   作者:  
本教程旨在實(shí)現(xiàn)lightBox時(shí)的樣式與行為分離,減少JS在各方面(全屏遮蔽、ie6中遮蔽select、雙向居中、高度自適應(yīng)內(nèi)容等)的工作。

[參與測試的瀏覽器:IE6 / IE7 / IE8 / FF3.5 / OP9.6 / SF4 / Chrome2 ]
[操作系統(tǒng):Windows]
本教程旨在實(shí)現(xiàn)lightBox時(shí)的樣式與行為分離,減少JS在各方面(全屏遮蔽、ie6中遮蔽select、雙向居中、高度自適應(yīng)內(nèi)容等)的工作。
先上代碼:

復(fù)制代碼 代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="author" content="Chomo" />
<link rel="start" title="Home" />
<title>全屏屏蔽、自動(dòng)居中的lightBox</title>
<style type="text/css">
* { margin:0; padding:0; }
html,body { height:100%; overflow:hidden; font:12px/1.5 simsun;}
.myPage { line-height:3; overflow:auto; width:100%; height:100%;}
.lightBox,
.popupCover,
.popupIframe,
.popupComponent { position:absolute; left:0; top:0; width:100%; height:100%;}
.popupComponent { z-index:2; display:none;}
.popupIframe { display:none; _display:block; _filter:alpha(opacity=0);}
.popupCover { background:#000; opacity:0.7; *filter:alpha(opacity=70);}
.lightBox { text-align:center; overflow:auto;}
.lightBoxContent { display:inline-block; *display:inline; zoom:1; width:300px; padding:10px; background:#fff; border:5px solid #00b4ff; vertical-align:middle;}
.lightBoxMaxHeight { display:inline-block; vertical-align:middle; height:100%; *height:99.5%; width:1px; overflow:hidden; margin-left:-1px;}
.lightBoxWrapper { display:inline-block; *display:inline; zoom:1; text-align:left;}
.lightBoxClose { color:#f00;}
.lightBoxSubmit { margin-top:10px; padding-top:5px; border-top:1px solid #ccc;}
.lightBoxSubmit input { font-size:12px; padding:0 10px; overflow:visible; margin:0 5px;}
</style>
</head>
<body>
<div class="popupComponent" id="lightBox">
<iframe class="popupIframe"></iframe>
<div class="popupCover"></div>
<div class="lightBox">
<span class="lightBoxMaxHeight"></span>
<div class="lightBoxContent">
<div class="lightBoxWrapper">
當(dāng)提示小于一行時(shí)文字居中[br]
</div>
<div class="lightBoxSubmit">
<input type="button" value="確定" onclick="hideLayer('lightBox')" />
<input type="button" value="取消" onclick="hideLayer('lightBox')" />
</div>
</div>
</div>
</div>
<div class="popupComponent" id="lightBox2">
<iframe class="popupIframe"></iframe>
<div class="popupCover"></div>
<div class="lightBox">
<div class="lightBoxContent">
<div class="lightBoxWrapper">
當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度[br]
當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度[br]
當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度[br]
當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度[br]
當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度[br]
當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度[br]
當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度[br]
當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度[br]
當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度[br]
當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度[br]
當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度[br]
當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度[br]
當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度[br]
當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度[br]
當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度[br]
當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度[br]
當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度[br]
當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度[br]
當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度[br]
當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度[br]
當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度[br]
當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度[br]
當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度 當(dāng)內(nèi)容已經(jīng)超過了一屏的高度[br]
</div>
<div class="lightBoxSubmit">
<input type="button" value="確定" onclick="hideLayer('lightBox2')" />
<input type="button" value="取消" onclick="hideLayer('lightBox2')" />
</div>
</div>
<span class="lightBoxMaxHeight"></span>
</div>
</div>
<div class="myPage">
假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]
<div style="text-align:center;"><input type="button" value="位于第一屏的按鈕" onclick="showLayer('lightBox')" /></div>
假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]
<select><option>一個(gè)用于測試IE6中是否能覆蓋住的select</option></select>[br]
假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]
假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]
假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]
<select><option>又一個(gè)用于測試IE6中是否能覆蓋住的select</option></select>[br]
假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]
<div style="text-align:center;"><input type="button" value="位于第二屏中的按鈕" onclick="showLayer('lightBox')" /><input type="button" value="當(dāng)內(nèi)容已經(jīng)超過了一屏的高度" onclick="showLayer('lightBox2')" /></div>
假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]
假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]
假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]
</div>
<script>
function showLayer(id) {
document.getElementById(id).style.display = "block";
}
function hideLayer(id) {
document.getElementById(id).style.display = "none";
}
</script>
</body>
</html>

這個(gè)lightBox具備以下特性,大家可以通過修改代碼測一測 ^-^:

在頁面中任意一位置點(diǎn)開,均能完美遮屏(此時(shí)無法直接控制包括滾動(dòng)條在內(nèi)的任意元素),IE6中無須隱藏即能遮蔽select元素(iframe遮蔽法的缺陷:遮蔽后,如果拖動(dòng)滾動(dòng)條,select仍會(huì)移至頂層)。
lightBox的高度自適應(yīng)其內(nèi)容,并呈現(xiàn)完美的居中狀態(tài)。
內(nèi)容為單行時(shí),居中顯示;內(nèi)容為多行時(shí),居左顯示;內(nèi)容高度使lightBox超過屏高時(shí)呈現(xiàn)滾動(dòng)條,并居頂顯示,讀者能完整閱讀。
如有興趣,構(gòu)成這個(gè)lightBox的以下小技巧可供您參詳:

1. 全屏遮蔽的方法:

A. 隱藏html/body的滾動(dòng)條。
B. 用一個(gè)div做遮罩,再用一個(gè)div做帶有滾動(dòng)條的頁面,一個(gè)疊上面,一個(gè)疊下面。
復(fù)制代碼 代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="author" content="Chomo" />
<link rel="start" title="Home" />
<title>全屏遮蔽的方法</title>
<style type="text/css">
* {
margin:0; padding:0; /*--- 簡單的css reset,據(jù)說它的效率不高,請自行替換為高效的 ---*/
}
html,body {
height:100%; /*--- 有了這個(gè)高度,IE6下,body的子對象設(shè)置height:100%才有效 ---*/
overflow:hidden; /*--- 滅掉html或body產(chǎn)生的滾動(dòng)條 ---*/
}
.page {
line-height:3;
overflow:auto; /*--- 滾動(dòng)條就靠它了 ---*/
width:600px; height:400px; background:#f60; /*--- 暫時(shí)先做這么大,方便大家看清楚 ---*/
position:relative; left:50px; top:50px; /*--- 移動(dòng)一點(diǎn)點(diǎn),方便大家看清楚,把它去掉,遮罩的基本的效果就實(shí)現(xiàn)了 ---*/
}
.cover {
position:absolute;
width:600px; height:400px; background:#000;
opacity:0.7; *filter:alpha(opacity=70);
z-index:2;
}
</style>
</head>
<body>
<div class="cover"></div>
<div class="page">
假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]
假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]
假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]
假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]
假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]
假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]
假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]
假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]
假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]假裝很豐富的內(nèi)容[br]
</div>
</body>
</html>

相關(guān)文章

  • 精通Javascript系列之?dāng)?shù)值計(jì)算

    精通Javascript系列之?dāng)?shù)值計(jì)算

    在JS中如果希望某個(gè)變量包含一個(gè)數(shù)值,那么無需限定其必須是整數(shù)或者是浮點(diǎn)數(shù),下面來個(gè)例子
    2011-06-06
  • 使用自定義setTimeout和setInterval使之可以傳遞參數(shù)和對象參數(shù)

    使用自定義setTimeout和setInterval使之可以傳遞參數(shù)和對象參數(shù)

    該函數(shù)兼容ie,firefox。并且可以使用clearSetTimeOut和clearInterval清除,比原setTimeout,setInterval方便很多,并且參數(shù)可以是object。
    2009-04-04
  • 網(wǎng)頁中的圖片查看器viewjs使用方法

    網(wǎng)頁中的圖片查看器viewjs使用方法

    下面小編就為大家?guī)硪黄W(wǎng)頁中的圖片查看器viewjs使用方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • 實(shí)例解析package.json和最常見的scripts字段

    實(shí)例解析package.json和最常見的scripts字段

    日常開發(fā)中,現(xiàn)在的前端開發(fā)已經(jīng)被三大框架取代,其中最主流的不過vue和react,而開發(fā)這些項(xiàng)目的時(shí)候不得不接觸package.json這個(gè)文件,可你真的了解這個(gè)文件嗎?今天給大家聊聊package.json和最常見的scripts字段,感興趣的朋友一起看看吧
    2023-04-04
  • JavaScript實(shí)現(xiàn)Flash炫光波動(dòng)特效

    JavaScript實(shí)現(xiàn)Flash炫光波動(dòng)特效

    JavaScript寫的炫光波動(dòng)效果,看到一些Flash效果不錯(cuò),用JS也模擬一下,還有很多不完善的地方,給各位參考參考。
    2015-05-05
  • 使用PDFJS遇到的坑及解決辦法記錄

    使用PDFJS遇到的坑及解決辦法記錄

    PDF.js是由Mozilla支持的基于HTML5的PDF查看器,可以在web上解析和呈現(xiàn)PDF文件,它支持內(nèi)容檢索、頁面跳轉(zhuǎn)、文件打印等功能,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-09-09
  • 淺談JavaScript對象與繼承

    淺談JavaScript對象與繼承

    下面小編就為大家?guī)硪黄獪\談JavaScript對象與繼承。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-07-07
  • JS完整獲取IE瀏覽器信息包括類型、版本、語言等等

    JS完整獲取IE瀏覽器信息包括類型、版本、語言等等

    這篇文章主要介紹了JS如何完整獲取IE瀏覽器信息包括類型、版本、語言等等,需要的朋友可以參考下
    2014-05-05
  • JS利用?React.lazy?優(yōu)化頁面初次渲染

    JS利用?React.lazy?優(yōu)化頁面初次渲染

    這篇文章主要介紹了JS利用?React.lazy?優(yōu)化頁面初次渲染,React.lazy?接受一個(gè)函數(shù),這個(gè)函數(shù)需要?jiǎng)討B(tài)調(diào)用import(),它必須返回一個(gè)Promise,該P(yáng)romise需要resolve一個(gè)default?export的React組件
    2022-07-07
  • apply和call方法定義及apply和call方法的區(qū)別

    apply和call方法定義及apply和call方法的區(qū)別

    apply和call功能一樣,只是傳入的參數(shù)列表形式不同,本文給大家介紹apply和call方法定義及apply和call方法的區(qū)別,感興趣的朋友一起學(xué)習(xí)吧
    2015-11-11

最新評論

双峰县| 武夷山市| 威海市| 安溪县| 班戈县| 北川| 仁化县| 武定县| 南投市| 锡林郭勒盟| 舒城县| 龙山县| 梧州市| 临清市| 静安区| 平泉县| 垫江县| 沅陵县| 江都市| 鸡泽县| 屯留县| 千阳县| 霍林郭勒市| 灯塔市| 庄浪县| 云安县| 宁德市| 中卫市| 河源市| 富锦市| 永泰县| 仁布县| 扶沟县| 岗巴县| 吉安县| 城固县| 南平市| 剑川县| 丹东市| 龙州县| 武威市|