jQuery Overlay无法在IE8中运行

时间:2013-01-29 06:28:02

标签: jquery html css user-interface overlay

如果在别处已经回答了这个问题,我找不到任何东西。

我正在与jQueryTools Overlay合作。 在Chrome中工作正常,但在IE-8中我有这个问题,我的覆盖Div像普通div一样弹出,位于我的表单顶部。

继承人html:

<div id="overlay" >
        <img src="http://www.sanbaldo.com/wordpress/wp-content/bigrotation2.gif" class="img-load" />
    </div>

继承人CSS:

#overlay
{
    background: #DCDCDC;
    border: 5px solid #666;
    display: none;
    height: 50%;
    left: 50%;
    opacity: 0.8;
    position: relative;
    top: 30%;
    width: 50%;
}
.img-load
{
    left: 50%;
    position: relative;
    top: 50%;
}

Jquery的:

$(".button_small").click(function () {
    $("#overlay").overlay().load();
});

1 个答案:

答案 0 :(得分:0)

问题是IE8现在正在遵守标准,这就会给插件带来问题,试图绕过IE8之前的问题。

一种可能的解决方案是使用此元标记强制IE9处于IE8标准模式:

另一种选择是修复代码:

大多数UI插件驻留在$ .browser.msie上,以检查我们是否在IE中,但他们不检查版本。在我的例子中,解决方案(jquery.ui.checkbox.js)是用这个变量替换所有$ .browser.msie调用:

var isIEAndVersionIsLowerThan8 = $.browser.msie && (parseInt($.browser.version, 10) < 8);

此解决方案比添加元标记更好,因为它将启用所有IE8功能。