ie ff 之resize

更新FF後,發現之前項目裏的樣式有比較大的問題,其實也算不上是更新後的問題,之前也存在只是現在更爲明顯些。後想想算了,找時間重構吧。

問題是這樣,IE和FF裏使用鎖頭的TABLE,代碼不能很好的統一,CSS和JS都這樣。後來網上找了資料,對問題進行了改進。

使用css固定表頭,並結合JS讓表格自適應高度


簡單的表格,含thead和tbody
<div class="wzjGridTable">
<table cellpadding="0" cellspacing="0" border="0" id="tabClient">
<thead class="gridHeader">
<tr>
<td>標題</td>
</tr>
</thead>
<tbody class="gridContent">
<tr>
<td>內容</td>
</tr>
</tbody>
</table>
</div>



/*CSS*/
div.wzjGridTable{
position:absolute;
width:100%;
height:100%;
overflow:hidden;
_overflow-y:auto;
}
div.wzjGridTable table{
width:100%;
overflow:auto;
background:#FFFFFF;
}
div.wzjGridTable thead.gridHeader tr{
position: relative;
TOP: expression(this.offsetParent.scrollTop-1);
}



//js
if(navigator.appName.indexOf("Microsoft")!=-1){
setTableHeight_IE()
(window).bind("resize",function(){
setTableHeight_IE()
});
}else{
setTableHeight_FF()
window.onresize = setTableHeight_FF
}

function setTableHeight_FF(){
var titleHead=getHeight($(".toolbarDiv").css("height"))
var tool=getHeight($(".winTitle").css("height"))
var tabHead=getHeight($(".gridHeader").css("height"))
var finalH=document.body.clientHeight-titleHead-tool-tabHead;
$("#tabClient").css("height",finalH)
}

function setTableHeight_IE(){
var tabHead=getHeight($(".gridHeader tr td").css("height"))
var finalH=document.body.clientHeight-tabHead-tabHead;
$("div.wzjGridTable").css("height",finalH)
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章