0

私は現在小さなjQuery要素に取り組んでいますが、clearIntervalに問題があります。

私が取り組んでいる例を使ってjsFiddleを作成しました:http://jsfiddle.net/eWTSu/

ご覧のとおり、正常に回転しますが、ナビゲーションボタンにカーソルを合わせると、回転が停止しません。また、回転の順序にも問題があります。回転はdiv1、div2、div3、div4になり、繰り返されます。しかし、回転が最初のdivにあるときに、3番目のボタンにカーソルを合わせると、3番目のdivの上に2番目のdivが読み込まれます。

誰かが私に良いヒントを持っていますか?

4

1 に答える 1

2

これを試してください(DEMOを参照):

jQuery(document).ready(function () {
    $('.greenC, .blueC, .orangeC').hide();

    $('.nav li').hover(function () {
        var liClass = $(this).attr('class');

        $('.slider').hide();
        $('.' + liClass + 'C').show();
    });

    (function () {
        var interval_function = function () {
            jQuery('#header_slider > div:first')
                .hide()
                .next()
                .show()
                .end()
                .appendTo('#header_slider');
        };

        var interval = setInterval(interval_function, 1000);

        $('.nav li').hover(function () {
            clearInterval(interval);
        }, function () {
            interval = setInterval(interval_function, 1000);
        });
    }());
});​
于 2012-07-31T12:19:54.580 に答える