在瀏覽器窗口大小變化時,自動出現或隱藏滾動條,隱藏橫向滾動條,僅保留縱向的

隱藏橫向滾動條,僅保留縱向的
.lm {
padding: 10px 0 0 20px;
width: 175px;
overflow-y:auto;
overflow-x:hidden
}
 
在瀏覽器窗口大小變化時,自動出現或隱藏滾動條(IE8下)
 
function divScroll(){ 
    //每個菜單項的高度
    var itemHeight = 33;
    //菜單項目條數
    var listSize = $("#listSize").val();
    //菜單據iframe頂部距離
    var topMargin = 85;
    var leftFrame = $("#leftFrame",parent.document.body);
    var leftFrameHeight = leftFrame.attr("height");
    var leftMenuHeight = leftFrameHeight-topMargin;
    //console.log("listSize:"+listSize+",leftFrameHeight:"+leftFrameHeight+",leftMenuHeight:"+leftMenuHeight);
    var tHeight = itemHeight*listSize < leftMenuHeight ? itemHeight*listSize:leftMenuHeight;
    $(".lm").height(tHeight);   //修改div的高度
}

$(window).resize(divScroll);
 
在IE9下,菜單會出現滾動條,將itemHeight增大爲34即可
但IE7下問題較多
1.據說IE6和7下,resize事件有bug,可能會觸發多次,甚至導致死循環
使用jquery的改良方法可以解決(位於jquery.wresize.js 中)
將resize方法改爲使用wresize
2.使用IE9,將瀏覽器模式和文檔模式均調整爲IE7,resize事件不觸發
參考 stackoverflow的文章(地址)解決
IE7 with doctype needs:
html, body { height: 100% }
即添加第二行的樣式到文檔中,缺一不可
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章