利用onresize使得div可以隨著屏幕大小而自適應的代碼
更新時間:2010年01月15日 16:19:08 作者:
javascript 利用onresize使得div可以隨著屏幕大小而自適應的代碼
當我們讓div居中時候,一般有兩種方法,一種是固定左右寬度,也就是使用像素絕對定位;另一種是用百分比來相對定位,在這種兩種方式下,絕對定位是不能讓div隨著屏幕而自適應的,而用百分比就可以,但是,是用百分比就會有一個新的問題,如果我們的頁面中有這么一句
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
的時候,top的百分比將會失效,而刪除這句話的時候,一切正常,都是不知道這句標準的聲明為什么會帶來如此的不便
針對這個問題,我使用的下面的方法來實現(xiàn)div的自適應
首先 我用的是絕對定位的方式,先設置好div的左右上下邊距。在body中添加兩個事件,
<body bgcolor="#666666" onresize="test()" onload="getwah()">
getwah()用來獲取屏幕的大小和div的各個邊距,并計算出它們的差
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)
}
當屏幕大小變化的時候(onresize)觸發(fā)test()函數(shù),該函數(shù)就是用戶根據(jù)之前獲得屏幕與邊距的差值重新設置div的邊距,這樣就可以實現(xiàn)黨屏幕的大小改變后,div的邊距也會相應地改變,從而實現(xiàn)div可以隨著屏幕大小的改變而自適應
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">
的時候,top的百分比將會失效,而刪除這句話的時候,一切正常,都是不知道這句標準的聲明為什么會帶來如此的不便
針對這個問題,我使用的下面的方法來實現(xiàn)div的自適應
首先 我用的是絕對定位的方式,先設置好div的左右上下邊距。在body中添加兩個事件,
<body bgcolor="#666666" onresize="test()" onload="getwah()">
getwah()用來獲取屏幕的大小和div的各個邊距,并計算出它們的差
復制代碼 代碼如下:
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)
}
當屏幕大小變化的時候(onresize)觸發(fā)test()函數(shù),該函數(shù)就是用戶根據(jù)之前獲得屏幕與邊距的差值重新設置div的邊距,這樣就可以實現(xiàn)黨屏幕的大小改變后,div的邊距也會相應地改變,從而實現(xiàn)div可以隨著屏幕大小的改變而自適應
復制代碼 代碼如下:
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實現(xiàn)拖拽調(diào)整Div大小
- 純js實現(xiàn)div內(nèi)圖片自適應大小(已測試,兼容火狐)
- jquery動態(tài)調(diào)整div大小使其寬度始終為瀏覽器寬度
- js通過八個點 拖動改變div大小的實現(xiàn)方法
- JQuery加載圖片自適應固定大小的DIV
- 通過JavaScript使Div居中并隨網(wǎng)頁大小改變而改變
- javascript實現(xiàn)div的拖動并調(diào)整大小類似qq空間個性編輯模塊
- js實現(xiàn)的八點拖動修改div大小的代碼
- 可拖動可改變大小div的實現(xiàn)代碼
- jQuery拖拽通過八個點改變div大小
相關文章
BootStrap Validator對于隱藏域驗證和程序賦值即時驗證的問題淺析
這篇文章主要介紹了BootStrap Validator對于隱藏域驗證和程序賦值即時驗證的問題的解決方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-12-12詳解JavaScript如何實現(xiàn)異步并發(fā)任務控制器
實現(xiàn)一個控制并發(fā)數(shù)的任務隊列?、實現(xiàn)一個異步并發(fā)任務控制器,這已經(jīng)是非常經(jīng)典的手寫題目了,因為其中涉及?異步?和?并發(fā)?的內(nèi)容,所以本文就來講講到底如何實現(xiàn)呢2023-05-05Code:loadScript( )加載js的功能函數(shù)
Code:loadScript( )加載js的功能函數(shù)...2007-02-02doctype后如何獲得body.clientHeight的方法
doctype后如何獲得body.clientHeight的方法...2007-07-07JS中new?Date().Format("yyyy-MM-dd")?報錯的解決
這篇文章主要介紹了JS中new?Date().Format("yyyy-MM-dd")?報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01