javascript - jQuery 淡入淡出元素的 Z-index 问题

标签 javascript jquery html css z-index

所以我有一个交互式图形,您在其中单击一个 div,它将显示该人的相关信息。我正在使用“动画”将不透明度淡化到 1。问题是,当不透明度达到 1 时,它会跳到您刚刚单击的 div 后面。

这就是其中一个董事会的结构..

<div class="boardbg board1bg">
    <div class="rollover person-1"><img src="images/hardie.png"/></div>
    <div class="rollover person-2"><img src="images/bernstein.png"/></div>
    <div class="rollover person-3"><img src="images/haldane.png"/></div>
    <div class="rollover person-4"><img src="images/cohen.png"/></div>
    <div class="rollover person-5"><img src="images/dawson.png"/></div>
    <div class="info person-1">
        <h3>hardie</h3>
        <p>blablablablabla
        </p>
        <h5>click to close</h5>
    </div>
    <div class="info person-2">
        <h3>bernstein/h3>
        <p>blablablablabla
        </p>
        <h5>click to close</h5>
    </div>
    <div class="info person-3">
        <h3>haldane</h3>
        <p>blablablablabla
        </p>
        <h5>click to close</h5>
    </div>
    <div class="info person-4">
        <h3>cohen</h3>
        <p>blablablablabla
        </p>
        <h5>click to close</h5>
    </div>
    <div class="info person-5">
        <h3>dawson</h3>
        <p>blablablablabla
        </p>
        <h5>click to close</h5>
    </div>
    <div class="backbtn">BACK</div>
</div>

jQuery 是这样工作的...

$( ".rollover" ).click(function() {
$(".info").css('display', 'none');
person = $(this).attr('class').split(' ')[1];
$(".info."+person).css('display', 'block');
$(".info."+person).animate({"opacity": "1"}, 200);
});

$( ".info" ).click(function() {
person = $(this).attr('class').split(' ')[1];
$(".info."+person).animate({"opacity": "0"}, 200);
$(".info."+person).css('display', 'none');
}); 

我曾尝试使用 css z-index 属性来纠正该问题,但无济于事。这与它们都在同一个 div 中有关吗???

如果您点击此链接并选择左上角的图片(先锋队),然后单击任意图片,您可以看到一个示例。

http://thetally.efinancialnews.com/tallyassets/extramile/index.html

谢谢你的帮助,我很难过

最佳答案

您的 .info (=Infotext) 默认为 position: static,但是您的 .rollover (=photos) 是 position : absolute 所以他们总是在最前面。只需在您的 CSS 中设置:

.info {position: relative;} // now you're done

顺便说一句:

  • 我无法解释为什么 .info 在动画期间位于顶部。
  • z-index 仅适用于非静态位置的元素。

关于javascript - jQuery 淡入淡出元素的 Z-index 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26784272/

相关文章:

php - 具有相同请求的 Jquery POST 不起作用

javascript - 如何使用JS Sort对多个元素进行排序

jquery - 直到第二次追加调用时图像才显示在 <li> 中

javascript - 隐藏用户按下计算器上的 AC 按钮时显示的 0

javascript - 为什么我的 jQuery 转换有问题?

ASP.NET MVC 3 文件夹结构

javascript - 如何让按钮对应于不同的下拉 div?

javascript - 尝试使用画笔/缩放在 d3 图表中使用散点图

javascript - 如何将 PHP 响应发送到 Ajax?

jquery - CSS 显示 :none and tinyscrollbar conflict