0

テーブル内の項目のリスト (つまり: ) をローテーションしようとしています。私がやろうとしているのは、最初のアイテムを削除し、テーブルの最後にアイテムを追加することです。最初のアイテムを削除することはできますが、これを 10 秒ごとに常にやり直す方法に行き詰まっています。おそらく、コードを見るとより良いアイデアが得られるでしょう。

コード:

        $num_ads = 0;
        if (isset($ads[0])) {
            foreach($ads as $row) {
                                    ...
                                    ...
                echo '<td class="featured_ads_td" id="featured_'.$num_ads.'">';
                                    ...
                                    ...
                                    $num_ads++
                            }
                    }

だから私がやったことは、テーブル内の各アイテムに一意の ID を与えたことです。この場合、最初のアイテムが Featured_0 になり、その後に Featured_1、Featured_2 などと続きます。

Javascript

<script src="/jquery-latest.min.js"></script>
<script type="text/javascript">
        var ad_refresh = setInterval(function(){
            $('#featured_0').fadeOut('slow');
            $('#featured_0').attr('id','removed');
        }2000);
</script>

以下のスクリプトを使用すると、最初のアイテムが削除されます。しかし、とにかく、最初のアイテムを Featured_0 にして、これを 2 秒ごとに再帰できるようにする方法はありますか? または、これを行うより良い方法があれば、私に知らせてください。JavaScript と jquery に関する私の知識はまだ非常に限られています。

助けてくれてありがとう。

4

2 に答える 2

1

あなたの質問を正しく理解していれば、この行に沿った何かを使用すると、要素をフェードアウトして残りの要素の後に配置できます。

この実用的なフィドルの例を参照してください!

jQuery

var ad_refresh = setInterval(function(){
    var $target = $('.featured_ads_td:first-child');
    $target.fadeOut('slow', function() {
        $target.appendTo('tr').show();
    });
},2000);
于 2012-06-09T00:50:41.273 に答える
1

@Lawrance、次のようなことができます:http://jsfiddle.net/estevao_lucas/usXba/

私がした唯一のことは、最初の要素を複製して削除してから、再度テーブルに追加することでした。

于 2012-06-09T00:55:49.697 に答える