隐藏横向滚动条,仅保留纵向的
.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);
//每个菜单项的高度
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% }
html, body { height: 100% }
即添加第二行的样式到文档中,缺一不可