自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

看JavaScript如何實(shí)現(xiàn)頁面自適

開發(fā) 前端
獲取IE顯示屏幕的寬高.確定哪些對象是絕對位置是固定的,那些是不固定的,哪些長寬是固定,然后象WIN FORM程序一樣,根所軟件界面的大小,進(jìn)行設(shè)計(jì)相關(guān)對象的長寬,絕對位置等屬性.

有時(shí)候,我們可能需要象新版的Yahoo郵箱一樣,讓一些數(shù)據(jù)顯示塊可以根據(jù)頁面大小進(jìn)行自適應(yīng)。事實(shí)并不難,但是如果單純用CSS控制的話,往往不能完全實(shí)現(xiàn)我們要的效果,這時(shí)候需要借助javascript,Javascript可以讓我我們實(shí)現(xiàn)司空見怪的自適應(yīng)頁面,在iSunXoft的HR開源項(xiàng)目就應(yīng)用到.

 實(shí)現(xiàn)原理:

獲取IE顯示屏幕的寬高.確定哪些對象是絕對位置是固定的,那些是不固定的,哪些長寬是固定,然后象WIN FORM程序一樣,根所軟件界面的大小,進(jìn)行設(shè)計(jì)相關(guān)對象的長寬,絕對位置等屬性,但是在WEB上程序沒有辦法實(shí)時(shí)檢測到窗口大小變化,只能用讓實(shí)現(xiàn)自適應(yīng)的方法通過SetTimeout 函數(shù)進(jìn)行隔時(shí)遞歸調(diào)用.

下面是摘自iSunXoft Hr開源項(xiàng)目SysForm.aspx實(shí)現(xiàn)的方法.

  1. var h;  
  2. var w;  
  3. function resize()  
  4. {     
  5.    
  6.  var he = document.body.offsetHeight;  
  7.  var wi = document.body.offsetWidth;  
  8.  if($("DataTable").style.display.toLowerCase()==""||$("DataTable").style.display.toLowerCase()=="inline")  
  9.  {  
  10.   if (h==he&&w==wi)  
  11.   {  
  12.    if($("leftMenu").style.display.toLowerCase() == "none" )  
  13.    {  
  14.     $("DivDataList").style.width = wi - 30;  
  15.    }  
  16.    else  
  17.    {  
  18.     $("DivDataList").style.width = wi - 223;  
  19.    }          
  20.    setTimeout("resize()",1000);  
  21.    return;  
  22.   }  
  23.   h = he;  
  24.   w = wi;  
  25.     
  26.   if (he>100)  
  27.   {  
  28.    $("DivDataList").style.height = he - 172;  
  29.      
  30.   }  
  31.   if(wi>200)  
  32.   {  
  33.    $("DivDataList").style.width = wi - 223;  
  34.    if($("leftMenu").style.display.toLowerCase() == "none" )  
  35.    {  
  36.     $("DivDataList").style.width = wi - 30;  
  37.    }  
  38.   }  
  39.  }  
  40.  
  41.  if($("DataEmpWidows").style.display.toLowerCase()=="inline"||$("DataEmpWidows").style.display.toLowerCase()=="")  
  42.  {  
  43.   if (h==he&&w==wi)  
  44.   {  
  45.    if($("leftMenu").style.display.toLowerCase() == "none" )  
  46.    {  
  47.     $("DataEmpWidows").style.width = wi - 30;  
  48.    }  
  49.    else  
  50.    {  
  51.     $("DataEmpWidows").style.width = wi - 223;  
  52.    }          
  53.   }  
  54.   h = he;  
  55.   w = wi;  
  56.   if (he>150)  
  57.   {  
  58.    $("DataEmpWidows").style.height = he - 132;  
  59.   }  
  60.   if(wi>200)  
  61.   {  
  62.    $("DataEmpWidows").style.width = wi - 223;  
  63.    if($("leftMenu").style.display.toLowerCase() == "none" )  
  64.    {  
  65.     $("DataEmpWidows").style.width = wi - 30;  
  66.    }  
  67.   }  
  68.    
  69.  }  
  70.  if(typeof($("EipWindows")) != "undefined")  
  71.  {  
  72.   //if($("EipWindows").style.display.toLowerCase()=="inline")  
  73.   //{  
  74.   // if (h==he&&w==wi)  
  75.   // {  
  76.   //  if($("leftMenu").style.display.toLowerCase() == "none" )  
  77.   //  {  
  78.   //   $("EipWindows").style.width = wi - 30;  
  79.   //  }  
  80.   //  else  
  81.   //  {  
  82.   //   $("EipWindows").style.width = wi - 223;  
  83.   //  }          
  84.   // }  
  85.   // h = he;  
  86.   // w = wi;  
  87.   // if (he>150)  
  88.   // {  
  89.   //  $("EipWindows").style.height = he - 132;  
  90.   // }  
  91.   // if(wi>200)  
  92.   // {  
  93.   //  $("EipWindows").style.width = wi - 223;  
  94.   //  if($("leftMenu").style.display.toLowerCase() == "none" )  
  95.   //  {  
  96.   //   $("EipWindows").style.width = wi - 30;  
  97.   //  }  
  98.   // }      
  99.   //}  
  100.  }  
  101.  setTimeout("resize()",1000);  
  102. }  
  103. resize(); 

注:$("")是有變化的元素.

然后就在網(wǎng)頁上調(diào)用resize();一旦窗口大小有變化,或是分辯率有變化,都能確保能夠?qū)崿F(xiàn)真正意義上的自適應(yīng).

原文鏈接:http://edu.itbulo.com/200701/111570.htm

 

責(zé)任編輯:張偉 來源: 軟件學(xué)院
相關(guān)推薦

2010-09-13 09:28:30

DIV自適應(yīng)高度DIV最小高度

2010-09-09 10:37:39

CSSdiv列高度

2010-09-15 13:14:04

DIV控制

2010-08-26 15:08:08

DIV高度

2024-10-10 09:55:51

JavaScript參數(shù)瀏覽器

2011-07-22 13:30:52

JavaScript

2021-05-09 19:41:35

JavaScript 前端同源通信

2017-10-17 15:40:25

javascript刷新頁面

2012-03-12 09:33:04

JavaScript

2021-01-12 10:22:45

JavaScript并發(fā)控制前端

2021-04-07 06:00:18

JavaScript 前端并發(fā)控制

2010-09-08 16:50:11

JavaScriptDOM操作

2012-04-23 13:49:55

PHP技術(shù)

2019-12-05 15:30:21

HTMLCSSJavaScript

2017-07-27 16:31:11

2017-10-27 22:03:35

javascrip

2024-06-14 08:54:54

2019-12-25 15:41:50

JavaScript程序員編程語言

2021-04-19 05:41:04

JavaScript大文件下載

2009-12-07 18:42:55

PHP與Javascr
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)