新接手的项目前端用的是extjs。在ie9下有一个treepanel的下拉滚动条死活出不来。
后来把树的定义改成了这样:
var multiSelectTree = new Ext.tree.TreePanel({
//id : 'multiSelectTree',
width : 200,
height : 200,
layout : 'fit',
onlyLeafCheckable : true,
animate : true,
rootVisible : true,
autoScroll : true,
containerScroll : true,// 是否支持滚动条
……
主要是这几个属性的配置:
containerScroll : true,// 是否支持滚动条
autoScroll : true,
layout : 'fit',
animate : true,
前三项还比较好理解,是和滚动条直接相关的。最后一项有点莫名其妙:展开/闭合节点时是否使用动画。经我的测试,如果这一项配置为false,那么ie9下的下拉滚动条就不会正常展示;配置为true之后,在动画播放完毕后,就能自动把滚动条展示出来了。
估计是因为 播放动画之后,extjs自动对treepanel的状态、展示等做了一次更新、重渲染,从而正确展示出了滚动条。
当然,extjs要在ie9下正常使用,先得在html的head里加上这一行:
后来把树的定义改成了这样:
var multiSelectTree = new Ext.tree.TreePanel({
//id : 'multiSelectTree',
width : 200,
height : 200,
layout : 'fit',
onlyLeafCheckable : true,
animate : true,
rootVisible : true,
autoScroll : true,
containerScroll : true,// 是否支持滚动条
……
主要是这几个属性的配置:
containerScroll : true,// 是否支持滚动条
autoScroll : true,
layout : 'fit',
animate : true,
前三项还比较好理解,是和滚动条直接相关的。最后一项有点莫名其妙:展开/闭合节点时是否使用动画。经我的测试,如果这一项配置为false,那么ie9下的下拉滚动条就不会正常展示;配置为true之后,在动画播放完毕后,就能自动把滚动条展示出来了。
估计是因为 播放动画之后,extjs自动对treepanel的状态、展示等做了一次更新、重渲染,从而正确展示出了滚动条。
当然,extjs要在ie9下正常使用,先得在html的head里加上这一行:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
本文转自 斯然在天边 51CTO博客,原文链接:http://blog.51cto.com/winters1224/903946,如需转载请自行联系原作者