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) で animate メソッドを使用しようとしていますが、最初に使用します。

これらすべての count 変数と 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 に答える