1

restartingつまり、再起動から3秒かかるように、時間を再起動するようにリセットします。

私のコードは次のとおりです。

/* ********** Forside Slider ********** */

var slider_current_id = 1;

$(".slidermenu").live("click", function() {
    var id = $(this).attr('data-id');
    clearInterval(window.slider_timer);
    window.slider_timer = setInterval(start_slider_timer(), 3000);
    window.slider_current_id = parseInt(id, 10);
    $('.slidermenu.currentone').animate({backgroundColor: '#FCFBFB'}, 'slow');
    $('.slidermenu.currentone').removeClass("currentone");
    $(this).animate({backgroundColor: '#f3f3f3'}, 'slow');
    $(this).addClass("currentone");
    $('#activeimage img.currentone').fadeOut('slow');
    $('#activeimage img.currentone').removeClass("currentone");
    $('#activeimage img[data-id='+id+']').fadeIn('slow');
    $('#activeimage img[data-id='+id+']').addClass("currentone");
});

function start_slider_timer() {
    if (window.slider_current_id == 5) {
        window.slider_current_id = 1;
    }else{
        window.slider_current_id = window.slider_current_id + 1;
    }
    $('.slidermenu.currentone').animate({backgroundColor: '#FCFBFB'}, 'slow');
    $('.slidermenu.currentone').removeClass("currentone");
    $('.slidermenu[data-id='+window.slider_current_id+']').animate({backgroundColor: '#f3f3f3'}, 'slow');
    $('.slidermenu[data-id='+window.slider_current_id+']').addClass("currentone");
    $('#activeimage img.currentone').fadeOut('slow');
    $('#activeimage img.currentone').removeClass("currentone");
    $('#activeimage img[data-id='+window.slider_current_id+']').fadeIn('slow');
    $('#activeimage img[data-id='+window.slider_current_id+']').addClass("currentone");
}

var slider_timer = setInterval(start_slider_timer(), 3000);

Intervalエラーは発生しません。実行されません。まったく実行されないのは私のものです。

誰かがこれを解決するのを手伝ってくれることを願っています。

4

2 に答える 2

2

かっこを削除して、関数を呼び出す代わりにパラメーターとして提供します。交換

var slider_timer = setInterval(start_slider_timer(), 3000);

var slider_timer = setInterval(start_slider_timer, 3000);

タイマーを「再起動」したい場合は、最初にそれをクリアする必要があることに注意してください

clearInterval(slider_timer);
于 2013-01-13T17:24:09.543 に答える
1

これに変更する必要があります

var slider_timer =  setInterval('start_slider_timer()', 1000);

_

于 2013-01-13T17:30:32.440 に答える