欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS彈出居中的DIV的代碼

 更新時(shí)間:2008年06月15日 19:35:41   作者:  
一直都在想怎么樣使彈出的DIV能在任何時(shí)候都是居中顯示的,剛開(kāi)始的時(shí)候是用CSS樣式直接定義好層的位置,但是當(dāng)頁(yè)面很長(zhǎng)的時(shí)候,或是瀏覽器窗口大小不是固定的時(shí)候就不能正確的顯示,所以只好用JS來(lái)控制DIV的顯示位置。

首先再次詳細(xì)解釋一下JS中窗口和網(wǎng)頁(yè)的幾種尺寸屬性的含義 
document.body.clientWidth(網(wǎng)頁(yè)可見(jiàn)區(qū)域?qū)挘菏侵笧g覽器顯示網(wǎng)頁(yè)的區(qū)域?qū)挾龋话g覽器的邊框?qū)挾群痛怪睗L動(dòng)條的寬度。大小隨著瀏覽器的窗口大小而改變。 
document.body.clientHeight(網(wǎng)頁(yè)可見(jiàn)區(qū)域高):是指瀏覽器顯示網(wǎng)頁(yè)的區(qū)域所能看到的高度,不包括瀏覽器的邊框?qū)挾群退綕L動(dòng)條的高度。大小隨著瀏覽器的窗口大小而改變。 
document.body.scrollTop(網(wǎng)頁(yè)被卷去的高):是指拉動(dòng)垂直滾動(dòng)條時(shí)網(wǎng)頁(yè)上面被地址欄及菜單欄遮蓋著的部分的高。 
document.body.scrollLeft(網(wǎng)頁(yè)被卷去的左):是指拉動(dòng)水平滾動(dòng)條時(shí)網(wǎng)頁(yè)左面被左邊線遮蓋著的部分的寬。 
現(xiàn)在我們來(lái)分析一下程序該如何實(shí)現(xiàn): 

第一步我們要實(shí)現(xiàn)的是使層在彈出時(shí)絕對(duì)居中不去考慮是否有滾動(dòng)條的情況。 
1.計(jì)算出層距離顯示區(qū)域左邊和上邊的位置 
注意:divId指的是所要居中的層,divId.clientWidth為其寬度?。?nbsp;
var divId = document.getElementById("xxx"); 
var v_left=(document.body.clientWidth-divId.clientWidth)/2; 
var v_top=(document.body.clientHeight-divId.clientHeight)/2; 
2.把得到的值重新賦給DIV的left和top屬性 
divId.style.left=v_left; 
divId.style.top=v_top; 
說(shuō)明:divId為DIV標(biāo)簽的id值 
這樣這個(gè)層就是居中顯示的了。 
第二步我們要實(shí)現(xiàn)的是使在拖動(dòng)滾動(dòng)條的情況下彈出的層也能居中。 
其實(shí)很簡(jiǎn)單我們只要把拖動(dòng)的寬度和高度加到前面計(jì)算出來(lái)的左邊距和上邊距中就OK 了。 
v_left+=document.body.scrollLeft; 
v_top+=document.body.scrollTop; 
2.把得到的值重新賦給DIV的left和top屬性 
divId.style.left=v_left; 
divId.style.top=v_top; 
這樣顯示出來(lái)就是居中的了。 
完整代碼如下:  


[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
 

如果你想在拖動(dòng)滾動(dòng)條或是窗口重置大小時(shí),層也能居中顯示的話,可以在body的屬性里面加上onresize="divcenter();"和 onscroll="divcenter();"就OK了,不過(guò)可能顯示的效果不是很好,特別是在拖動(dòng)滾動(dòng)條時(shí)的效果可能是一擅一擅的,忒不爽。 

相關(guān)文章

  • JavaScript判斷兩個(gè)值相等的方法詳解

    JavaScript判斷兩個(gè)值相等的方法詳解

    在?JavaScript?中如何判斷兩個(gè)值相等,這個(gè)問(wèn)題看起來(lái)非常簡(jiǎn)單,但并非如此,在?JavaScript?中存在?4?種不同的相等邏輯,如果你不知道他們的區(qū)別,或者認(rèn)為判斷相等非常簡(jiǎn)單,本文就來(lái)為大家詳細(xì)講講
    2022-07-07
  • JS取文本框中最小值的簡(jiǎn)單實(shí)例

    JS取文本框中最小值的簡(jiǎn)單實(shí)例

    這篇文章主要介紹了JS取文本框中最小值的簡(jiǎn)單實(shí)例,有需要的朋友可以參考一下
    2013-11-11
  • 判斷JavaScript對(duì)象是否可用的最正確方法分析

    判斷JavaScript對(duì)象是否可用的最正確方法分析

    在調(diào)試JavaScript的過(guò)程中,你是不是經(jīng)常會(huì)遇到object undefined的問(wèn)題呢?你平時(shí)是怎樣來(lái)測(cè)試對(duì)象是否存在呢?判斷瀏覽器版本?判斷JavaScript版本?本文來(lái)告訴你正確的方法。這篇文章涉及的瀏覽器可能古老一些,但是闡述的道理確實(shí)適合現(xiàn)在使用的。
    2008-10-10
  • JavaScript定時(shí)器實(shí)現(xiàn)的原理分析

    JavaScript定時(shí)器實(shí)現(xiàn)的原理分析

    JavaScript中的定時(shí)器大家基本在平時(shí)的開(kāi)發(fā)中都遇見(jiàn)過(guò)吧,但是又有多少人去深入的理解其中的原理呢?本文我們就來(lái)分析一下定時(shí)器的實(shí)現(xiàn)原理、定時(shí)器的妙用、定時(shí)器使用注意事項(xiàng),有興趣的朋友可以看下
    2016-12-12
  • js中的循環(huán)方式及各種遍歷的方法

    js中的循環(huán)方式及各種遍歷的方法

    本文主要介紹了js中的循環(huán)方式及各種遍歷的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • js+html5實(shí)現(xiàn)復(fù)制文字按鈕

    js+html5實(shí)現(xiàn)復(fù)制文字按鈕

    這篇文章主要為大家詳細(xì)介紹了js+html5實(shí)現(xiàn)復(fù)制文字按鈕,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • JavaScript中關(guān)于字符串替換與截取的知識(shí)點(diǎn)匯總

    JavaScript中關(guān)于字符串替換與截取的知識(shí)點(diǎn)匯總

    在日常開(kāi)發(fā)中,經(jīng)常遇到針對(duì)字符串的替換、截取,知識(shí)點(diǎn)比較碎容易混淆,所以本文為大家整理了一下相關(guān)的知識(shí)點(diǎn),希望對(duì)大家有所幫助
    2023-05-05
  • 7. Microsoft Online-Crash Control, version 6.0(微軟在線崩潰控件)

    7. Microsoft Online-Crash Control, version 6.0(微軟在線崩潰控件)

    7. Microsoft Online-Crash Control, version 6.0(微軟在線崩潰控件)...
    2007-08-08
  • javascript簡(jiǎn)單計(jì)算器 可美化

    javascript簡(jiǎn)單計(jì)算器 可美化

    javascript簡(jiǎn)單計(jì)算器 可美化,需要的朋友可以測(cè)試下。參考下實(shí)現(xiàn)原理。
    2011-10-10
  • js、jquery實(shí)現(xiàn)列表模糊搜索功能過(guò)程解析

    js、jquery實(shí)現(xiàn)列表模糊搜索功能過(guò)程解析

    這篇文章主要介紹了js、jquery實(shí)現(xiàn)列表模糊搜索功能過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03

最新評(píng)論