jQuery UI.addClass()动画,在IE9+;
我有一个页面,上面有几个方形的jQuery UI.addClass()动画,在IE9+;,jquery,css,jquery-ui,internet-explorer,addclass,Jquery,Css,Jquery Ui,Internet Explorer,Addclass,我有一个页面,上面有几个方形的s,其中一些在单击时隐藏了需要显示的相关内容(我们称之为“可扩展divs”)。隐藏内容有时可能相当长,因此它驻留在单独的s(“细节div”)中。理想的效果是“detail div”在运行jQuery UI animated.addClass('fullscreen'、'fast'、'swing')调用之前,首先模拟“expandable div”的大小和位置,该调用应用以下规则: .detail.fullscreen { top: 0 !important;
s,其中一些在单击时隐藏了需要显示的相关内容(我们称之为“可扩展divs”)。隐藏内容有时可能相当长,因此它驻留在单独的
s(“细节div”)中。理想的效果是“detail div”在运行jQuery UI animated.addClass('fullscreen'、'fast'、'swing')
调用之前,首先模拟“expandable div”的大小和位置,该调用应用以下规则:
.detail.fullscreen {
top: 0 !important;
left: 0 !important;
width: 100% !important;
height: 100% !important;
padding: 0 10%; /* all elements on page use box-sizing:border-box */
}
.addClass()
动画在Chrome、Firefox和IE8中都像一个魅力。但是,动画在IE9+中无法正常工作。浏览器似乎无法为填充设置动画
,而只是在动画完成后添加属性,造成了一个非常丑陋的UI错误。请参阅下面的JSFIDLE以查看正在运行的bug:
我最好的猜测是,这与IE呈现框大小的方式有关:边框框代码>,但这种样式非常有用,在所有其他现代浏览器中都能很好地工作。我错过什么了吗
注意:我还注意到jQuery 2.x和jQuery UI 1.10.x在IE的JSFIDLE中对我不起作用,但这可能是另一天的问题。问题的出现是因为框模式的不同。正如你所说,这仅仅是因为填充。要解决此问题,请从detail
中删除Pading,并在detail
中添加一个带填充的div。这会给你想要的效果