0

ある年の列 (2012 年、2011 年、2010 年など) をクリックすると、各年の内容が表示され、他の年の内容が非表示になるという効果が既に機能しています。たとえば、「2011」列までスクロールしてクリックすると、その内容が表示され、他の年の他の内容が非表示になります。

問題は、クリックすると、アニメーションがすべての効果を同時に実行してユーザーを混乱させることです。アニメーションの手順でそれを行う必要があると思いますが、jquery ソリューションに到達できませんでした。

この奇妙なクレイジーな効果を修正するには、コードに何を追加すればよいですか?

私のコード:

/* Scroll Function */
function scrollto(position){
    $('html, body').stop().animate({
        scrollLeft: position
    }, 1000);
}

/* Calendar Scroll */
$(".sub_section_title").click( function(e) {
    e.preventDefault();
$(".contenido_calendario").hide();
$(this).next(".contenido_calendario").toggle('slow');
scrollto($(this).offset().left - 352)
});

私はこれを .queue() で試しましたが、うまくいきません:

$(".sub_section_title").click( function(e) {
    e.preventDefault();
    $(".contenido_calendario").hide();
    $(".contenido_calendario").queue(function() {
        scrollto($(this).offset().left - 352);
    $(this).dequeue();
    });
    $(".contenido_calendario").queue(function() {
        $(this).next(".contenido_calendario").toggle('slow')
    $(this).dequeue();
    });
});
4

1 に答える 1

0

あなたが探しているのはjqueryの .queue() です

http://api.jquery.com/queue/

遅延()を使用することもできます

http://api.jquery.com/delay/

于 2012-09-16T07:41:36.937 に答える