0

我正在尝试修改此幻灯片:http ://css-tricks.com/snippets/jquery/simple-auto-playing-slideshow/

我的脚本是:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#slideshow > div:gt(0)").hide();
var count = 1
setInterval(function() { 
  $('#slideshow > div:first')
    .fadeOut(1000)
    .next()
    .fadeIn(1000)
    if (count == 1) 
    {
        count++
    }
    else 
    {
        .animate({top: '-100px'}, 1000)
        count++
    }
    if (count==3) 
    {
        count=1
    }
    .end()
    .appendTo('#slideshow');
},  3000);
});
</script>

所以我试图让所有其他幻灯片对象(div)使用动画方法,但首先。

如果我删除所有这些计数以及 if 变量和语句(但将 animate 留在原处),那么它会起作用,以便每个 div 都有动画。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#slideshow > div:gt(0)").hide();
setInterval(function() { 
    $('#slideshow > div:first')
    .fadeOut(1000)
    .next()
    .fadeIn(1000)
    .animate({top: '-100px'}, 1000)
    .end()
    .appendTo('#slideshow');
},  3000);
});
</script>

如果重要的话,这个脚本会包含在 cmsms 页面中。

这是我的第一个 javascript 可能解释了很多...

4

1 回答 1

0

这是一个快速的解决方案:

<script>
    $(function() {

        $("#slideshow > div:gt(0)").hide();

        var
            count = 1;

        setInterval(function() { 
          $('#slideshow > div:first')
            .fadeOut(1000, function () {
                if(count != 1)
                    $(this).css('top', '10px');

                count++;
            })
            .next()
            .fadeIn(1000, function() {
                if(count != 1) 
                    $(this).animate({top: '-100px'}, 1000);

                if(count == 3)
                    count = 0;
            })
            .end()
            .appendTo('#slideshow');
        },  3000);

    });
</script>
于 2013-07-30T14:43:19.583 回答