当前位置 : 主页 > 网页制作 > JQuery >

bgiframe与jQuery UI 1.8.9 Dialog和jQuery 1.5

来源:互联网 收集:自由互联 发布时间:2021-06-15
所以我使用的是jQuery UI的对话框.但是当我读到IE6中有一个常见的错误(不幸的是我必须确保它有效),其中下拉列表不关注z-index队列.我还读到有一个方便的插件,称为bgiframe来处理我的叠加
所以我使用的是jQuery UI的对话框.但是当我读到IE6中有一个常见的错误(不幸的是我必须确保它有效),其中下拉列表不关注z-index队列.我还读到有一个方便的插件,称为bgiframe来处理我的叠加问题.我找到了人们说使用它的两种不同方式,但都不起作用.我可能只是在做一些非常愚蠢的事情,但我需要让它发挥作用.

包括jQuery.bgiframe.js版本2.1.1
以下是我试图在没有工作的情况下使用它的两种方法:(我已经在我正在处理的页面中包含了所有jQuery-UI,jQuery和bgiframe)

>来自实际插件的文档说这样做:

$("#selectDropdownThatNeedsFixing").bgiframe();

这会导致jQuery异常,说对象是预期的.
>我从下一页看到的第二种方式:http://docs.jquery.com/UI/Dialog/dialog基本上你只是设置bgiframe:初始化对话框时为true:

$( ".selector" ).dialog({ bgiframe: true });

这不会出错,但是当我测试它时,IE6中仍然存在问题.

我错过了什么吗?我应该用哪种方式使用bgiframe?任何方向都会非常感激.谢谢您的帮助!

您不需要为此使用插件. IE6和z-index的问题是,IE6中的定位元素生成一个以z-index值为0开始的新堆栈上下文.因此,z-index在IE6中无法正常工作.此问题的解决方法是在父选择器中指定一个z-index值,该值等于子选择器中指定的z-index.

检查http://jsfiddle.net/ebgnu/2/的工作示例

下面是我在jsfiddle中做的例子.

.parent{
    position: relative;
    color:white;
}
.parent#a {
    height: 2em;
    z-index: 1;
}
.parent#a .child{
    position: absolute;
    height: 6em;
    width: 2em;
    z-index: 1;
    background:blue;
}
.parent#b {
    height: 2em;
    background:red;
}

<div class="parent" id="a">
    <div class="child">a</div>
</div>
<div class="parent" id="b">
    <div class="child">b</div>
</div>

查看.parent#a这是子选择器a的父级,其z-index为1.在此示例中,a将位于b的顶部.让我们说我们想把b放在上面.我们需要做的就是将子a和它的父级的值更改为z-index:0.这会将它发送到后面.

网友评论