仅限IE:当切换元素的可见性时,相邻内容在被鼠标移除之前不会刷新

时间:2011-08-25 15:32:15

标签: jquery internet-explorer

所以我正在使用.show()和.hide(),在某些触发器上显示和隐藏页面上的一些元素。假设我在彼此顶部有3个div并且我扩展了顶部的一个,其中一个底部的内容似乎没有移动,直到我鼠标悬停它。我在具有完全不同布局的多个项目中实现了这一点。是否存在通用原因/修复方法?

点击“展开”后:

After clicking "expand"
将鼠标移到元素上后:

After moving my mouse over the element

使用Javascript:

    //expand details per container
    $('.Trigger').live('click', function () {
        var thisid = $(this).attr('toggletrigger');
        if ($(thisid).css('display') == 'none') {
            $(thisid).show();
            $(this).css('background-image', 'url("../Content/themes/base/images/btn_expandcollapse_small-2.png")');
        } else {
            $(thisid).hide();
            $(this).css('background-image', 'url("../Content/themes/base/images/btn_expandcollapse_small-1.png")');
        }
    });

HTML

<span class="Trigger" toggletrigger=".GeneralHidden">

<div class="Section">
    <span class="GeneralHidden Hidden">
        //other stuff here that *shouldn't* be relevant.
    </span>
</div>

<div class="Section">
    //other stuff here that *shouldn't* be relevant.
</div>

CSS

.Hidden             {display: none;}
.GeneralHidden      {}
.Section            {margin: 0px; padding: 0px;
                     padding-top:5px;
                     background-color: #FBFBFB;
                     border: 1px solid #FBFBFB;
                     border-left: 3px solid gray;}
.Section:hover      {background-color: White; border: 1px solid gray; border-left: 3px solid gray;}

我已经确认这与

有关
            <div class="Section">
                This is a test.
            </div>

^^^在可扩展项目正常工作后添加此代码。

            <div class="Section">
                <fieldset>
                This is a test.
                </fieldset>
            </div>

^^^添加此代码表现出与以前相同的错误行为。我没有将css应用于fieldsets。

1 个答案:

答案 0 :(得分:0)

这似乎是使用fieldset标记的问题。没有它就可以正常工作。