jquery - 淡入淡出图像不会超过淡出图像

标签 jquery html css

我有 6 张图片,悬停时每张图片都会被另一张图片替换(使用 jQuery)并出现在初始图片上。

问题是当图像淡出时,它会在原始图像下方而不是在原始图像上方。

由于淡入/淡出效果很好,我认为这个问题属于我的 css 代码:

CSS:

#puzz {
    border-color:#000000;
    background-color:#00CC33;
    position:fixed;
    left:20%;
    top:13%;
    width:900px;
    height:650px;
}
li {
    list-style:none;
    float:left;
    list-style:none;
    padding:8px;
    margin:10px;
    line-height:10px;
    width:218px;
    height:218px;
    overflow:hidden;
    background:#99CCFF;
    /*For IE9 compatibility*/
    behavior: url(border-radius.htc);
    border-radius: 8px;
}
.fade div {
    position:absolute;
    top:auto;
    left:auto;
    display: none;
}

HTML:

<div id="puzz">
    <ul>
        <li>
            <div class="fade"><img src="img7.jpg" />
                <div><img src="img8.jpg" /></div>
            </div>
        </li>
        <li>
            <div class="fade"><img src="img2.jpg" />
                <div><img src="img5.jpg" /></div>
            </div>
        </li>
        <li>
            <div class="fade"><img src="img3.jpg" />
                <div><img src="img4.jpg" /></div>
            </div>
        </li>
        <li>
            <div class="fade"><img src="img4.jpg" />
                <div><img src="img3.jpg" /></div>
            </div>
        </li>
        <li>
            <div class="fade"><img src="img5.jpg" />
                <div><img src="img2.jpg" /></div>
            </div>
        </li>
        <li>
            <div class="fade"><img src="img6.jpg" />
                <div><img src="img1.jpg" /></div>
            </div>
        </li>
    </ul>
</div>

这是我得到的:

enter image description here

编辑:

这是我使用的 jQuery 脚本:

$(document).ready(function () {
    // find the div.fade elements and hook the hover event
    $('div.fade').hover(function () {
        // on hovering over, find the element we want to fade *up*
        var fade = $('> div', this);    

        // if the element is currently being animated (to a fadeOut)...
        if (fade.is(':animated')) {
            // ...take it's current opacity back up to 1
            fade.stop().fadeTo(250, 1);
        } else {
            // fade in quickly
            fade.fadeIn(250);
        }
    }, function () {
        // on hovering out, fade the element out
        var fade = $('> div', this);
        if (fade.is(':animated')) {
            fade.stop().fadeTo(3000, 0);
        } else {
            // fade away slowly
            fade.fadeOut(30);
        }
    });
});

最佳答案

Here's your code (jsFiddle) ,您的问题已解决。

我只是在 CSS 中做了一些更改,将一个图像放在另一个图像的“上方”。

关于jquery - 淡入淡出图像不会超过淡出图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12533875/

相关文章:

javascript - jquery 中的 mouseenter 导致异常行为

javascript - "matrix"VML 的属性在 IE8 中不起作用

jquery - 使 TD 内的表格大小与包含 TD 的表格大小相同

html - 仅为数字设置字体系列

javascript - jQuery:slideDown 和淡入淡出,立即失去高度

javascript - 如何使用 span 标签和字形图标而不是 Bootstrap 上的按钮制作下拉菜单?

html - 填充底部在 IE 8 和 IE 9 中不起作用

javascript - AJAX 调用后按钮尺寸缩小

javascript - 为什么这个javascript效果不能在ie7上使用?

javascript - html布局发生变化