1

以下のスクリプトはタスクを実行しますが、さらに20回ほど実行する必要があります。同じスクリプトを何度も呼び出す必要がないように、スクリプトを最適化するにはどうすればよいですか?

「a1」は「a2」、「a3」などに変わります。「#thing」も変更して、ページの別の部分にスクロールできるようにする必要があります

$(document).ready(function() {
$(".a1").click(function() {
        $('html,body').animate({
        scrollTop: $("#thing").offset().top
    }, 500);
});
4

1 に答える 1

1

そのような何かが私が思う仕事をすることができます:

var cnt = 0;
$(".a1").click(function() {
        $('html,body').animate({
        scrollTop: $("#schoonmaak").offset().top
    }, 500, function() {
      if (cnt++ > 20) $(".a1").click();   
});

編集-あなたの質問の編集が行われた後、私はこれがあなたの問題を解決すると思います:

var items = $('body ul li[id]');
$('.nobackground h2 a').each(function(i){

  $(this).click(function() {
     $('html,body').animate({ scrollTop: $(items[i]).offset().top}, 500);
  });

});
于 2012-11-03T11:16:53.427 に答える