2

我遇到了幻灯片的问题(这个问题几乎与这个简单的 jQuery 幻灯片图像向下移动一瞬间但它对我不起作用)。问题在于next()通话。我试图制作一种睡眠功能,但我无法在那里调用它。

这是我的代码:

CSS:

.slidePromo { 
    margin-top: 20px;
    margin-bottom: 20px;
    position: relative; 
    width: 700px; 
    height: 300px; 
    padding: 10px; 
    box-shadow: 0 0 20px rgba(0,0,0,0.4); 
    overflow: hidden;
}

.slideshow > div { 
    position: absolute; 
    top: 0px; 
    left: 0px; 
    right: 0px; 
    bottom: 0px; 
    overflow: auto;
}

HTML:

<div id="slidePromo" class="slidePromo">
    <div><img src="./promos/banner.jpg"></div>
    <div><img src="./promos/next.jpg"></div>
    <div><img src="./promos/splash.jpg"></div>
</div>

jQuery

function slider(id, fade, timer) {
    $("#" + id + " > div:gt(0)").hide();
    setInterval(function() { 
    $('#' + id + ' > div:first')
        .fadeOut(fade)
        .next()
        .fadeIn(fade)
        .end()
        .appendTo("#" + id);
    },  timer);
}

任何的想法?谢谢并恭祝安康。

4

2 回答 2

2

试试这个:

setInterval(function() { 
$('#slideshow > div:first')
.fadeOut(100,function(){
    $(this).next().fadeIn(1000).end().appendTo('#slideshow');
});
},  3000);

在淡出上使用回调函数,它会等到它完全消失后再附加另一个。

于 2013-04-04T16:13:45.787 回答
0

可能是因为在 css 中你有类slideShow,但你的包装器有类slidePromo。这个css块甚至不适用于smth。更改类 - 它可以在没有 jquery 更改的情况下工作。

PS jquery 代码很糟糕。试试这个:

function slider(id, fade, timer) {
    var holder = $('#' + id);
    holder.find(" > div:gt(0)").hide();
    setInterval(function() { 
    holder.find(' > div:first')
        .fadeOut(fade)
        .next()
        .fadeIn(fade)
        .end()
        .appendTo(holder);
    },  timer);
}

这是小升级。

于 2013-04-04T16:22:52.237 回答