利用onresize使得div可以隨著屏幕大小而自適應(yīng)的代碼
更新時(shí)間:2010年01月15日 16:19:08 作者:
javascript 利用onresize使得div可以隨著屏幕大小而自適應(yīng)的代碼
當(dāng)我們讓div居中時(shí)候,一般有兩種方法,一種是固定左右寬度,也就是使用像素絕對(duì)定位;另一種是用百分比來相對(duì)定位,在這種兩種方式下,絕對(duì)定位是不能讓div隨著屏幕而自適應(yīng)的,而用百分比就可以,但是,是用百分比就會(huì)有一個(gè)新的問題,如果我們的頁面中有這么一句
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
的時(shí)候,top的百分比將會(huì)失效,而刪除這句話的時(shí)候,一切正常,都是不知道這句標(biāo)準(zhǔn)的聲明為什么會(huì)帶來如此的不便
針對(duì)這個(gè)問題,我使用的下面的方法來實(shí)現(xiàn)div的自適應(yīng)
首先 我用的是絕對(duì)定位的方式,先設(shè)置好div的左右上下邊距。在body中添加兩個(gè)事件,
<body bgcolor="#666666" onresize="test()" onload="getwah()">
getwah()用來獲取屏幕的大小和div的各個(gè)邊距,并計(jì)算出它們的差
var height,width,width_cha1,width_cha2;
function getwah()
{
if(document.documentElement && document.documentElement.clientWidth)
{d_width = document.documentElement.clientWidth;}
else if(document.body)
{d_width = document.body.clientWidth;}
width=parseInt(d_width);
width_cha1=width-parseInt(document.getElementById("backi").style.left)
width_cha2=width-parseInt(document.getElementById("massage_box").style.left)
}
當(dāng)屏幕大小變化的時(shí)候(onresize)觸發(fā)test()函數(shù),該函數(shù)就是用戶根據(jù)之前獲得屏幕與邊距的差值重新設(shè)置div的邊距,這樣就可以實(shí)現(xiàn)黨屏幕的大小改變后,div的邊距也會(huì)相應(yīng)地改變,從而實(shí)現(xiàn)div可以隨著屏幕大小的改變而自適應(yīng)
function test()
{
if(document.documentElement && document.documentElement.clientWidth)
{d_width = document.documentElement.clientWidth;}
else if(document.body)
{d_width = document.body.clientWidth;}
var now_left1=parseInt(d_width )-width_cha1;
var now_left2=parseInt(d_width )-width_cha2;
document.getElementById("backi").style.left=now_left1
document.getElementById("massage_box").style.left=now_left2
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
的時(shí)候,top的百分比將會(huì)失效,而刪除這句話的時(shí)候,一切正常,都是不知道這句標(biāo)準(zhǔn)的聲明為什么會(huì)帶來如此的不便
針對(duì)這個(gè)問題,我使用的下面的方法來實(shí)現(xiàn)div的自適應(yīng)
首先 我用的是絕對(duì)定位的方式,先設(shè)置好div的左右上下邊距。在body中添加兩個(gè)事件,
<body bgcolor="#666666" onresize="test()" onload="getwah()">
getwah()用來獲取屏幕的大小和div的各個(gè)邊距,并計(jì)算出它們的差
復(fù)制代碼 代碼如下:
var height,width,width_cha1,width_cha2;
function getwah()
{
if(document.documentElement && document.documentElement.clientWidth)
{d_width = document.documentElement.clientWidth;}
else if(document.body)
{d_width = document.body.clientWidth;}
width=parseInt(d_width);
width_cha1=width-parseInt(document.getElementById("backi").style.left)
width_cha2=width-parseInt(document.getElementById("massage_box").style.left)
}
當(dāng)屏幕大小變化的時(shí)候(onresize)觸發(fā)test()函數(shù),該函數(shù)就是用戶根據(jù)之前獲得屏幕與邊距的差值重新設(shè)置div的邊距,這樣就可以實(shí)現(xiàn)黨屏幕的大小改變后,div的邊距也會(huì)相應(yīng)地改變,從而實(shí)現(xiàn)div可以隨著屏幕大小的改變而自適應(yīng)
復(fù)制代碼 代碼如下:
function test()
{
if(document.documentElement && document.documentElement.clientWidth)
{d_width = document.documentElement.clientWidth;}
else if(document.body)
{d_width = document.body.clientWidth;}
var now_left1=parseInt(d_width )-width_cha1;
var now_left2=parseInt(d_width )-width_cha2;
document.getElementById("backi").style.left=now_left1
document.getElementById("massage_box").style.left=now_left2
}
您可能感興趣的文章:
- jquery實(shí)現(xiàn)拖拽調(diào)整Div大小
- 純js實(shí)現(xiàn)div內(nèi)圖片自適應(yīng)大小(已測(cè)試,兼容火狐)
- jquery動(dòng)態(tài)調(diào)整div大小使其寬度始終為瀏覽器寬度
- js通過八個(gè)點(diǎn) 拖動(dòng)改變div大小的實(shí)現(xiàn)方法
- JQuery加載圖片自適應(yīng)固定大小的DIV
- 通過JavaScript使Div居中并隨網(wǎng)頁大小改變而改變
- javascript實(shí)現(xiàn)div的拖動(dòng)并調(diào)整大小類似qq空間個(gè)性編輯模塊
- js實(shí)現(xiàn)的八點(diǎn)拖動(dòng)修改div大小的代碼
- 可拖動(dòng)可改變大小div的實(shí)現(xiàn)代碼
- jQuery拖拽通過八個(gè)點(diǎn)改變div大小
相關(guān)文章
微信小程序的tab選項(xiàng)卡的實(shí)現(xiàn)效果
這篇文章主要介紹了微信小程序的tab選項(xiàng)卡的實(shí)現(xiàn)效果,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
Javascript異步編程async實(shí)現(xiàn)過程詳解
這篇文章主要介紹了Javascript異步編程async實(shí)現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
JS實(shí)現(xiàn)移動(dòng)端判斷上拉和下滑功能
通過手指觸屏,利用touchstart和touchend計(jì)算前后滑動(dòng)距離,判斷是上拉還是下滑。接下來通過實(shí)例代碼給大家介紹js移動(dòng)端判斷上拉和下滑功能,感興趣的朋友一起看看吧2017-08-08
淺談JavaScript窗體Window.ShowModalDialog使用
這篇文章主要介紹了淺談JavaScript窗體Window.ShowModalDialog使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07

