3

これは簡単なはずですが、私は初心者です...

show 関数と click to animate 関数を 1 つにするにはどうすればよいですか?

function scrollit() {
    $("#scrollDown").show();
    $("#scrollDown").click(function() {
        $('html,body').animate({scrollTop: $('#scrollDown').offset().top}, 1500);
    });
}

参照: http://jsfiddle.net/elasticGurl/3r6Jp/4/

起こるべきことは

  1. ボタンがクリックされた
  2. 非表示の div scrollDown が表示されます
  3. #2と同時に、それも同時に少し下に移動する必要があります

問題は、下に移動するために 2 回クリックする必要があることです。

4

4 に答える 4

2

イベントを発生させる必要があるクリックのイベントをバインドしているだけです。

function toggleDiv() {

$("#scrollDown").show().click(function() {
  $('html,body').animate({scrollTop: $('#scrollDown').offset().top}, 1500);
});
   $("#scrollDown").click();
}
于 2012-11-29T05:15:03.700 に答える
2

これは、クリック機能がボタンではなく非表示の div にあるためです。

function scrollit() {

    $("#scrollDown").show();
    $('html,body').animate({scrollTop: $('#scrollDown').offset().top}, {duration:1500, queue:false});
}​
于 2012-11-29T05:16:33.623 に答える
0

jQuery 1.8.2で試してください

$(document).on('click','p#scrolltest', function (){
  $("div#scrollDown").show('fast', function(){
       $('body').animate({
           scrollTop: $('#scrollDown').offset().top
           }, 1500);
        });
});

Working Demo

于 2012-11-29T05:23:58.343 に答える
0

ここに作業サンプルがあります: http://jsfiddle.net/FSfRR/1/

   var count = 0;
   $(".checkout_btn").click(function() {
       $("#scrollDown").show();
      count++;
      $('html,body').animate({scrollTop: $('#scrollDown').offset().top}, 1500);
      if(count==1)
          $(this).trigger('click');
      else 
          count = 0;
   });
于 2012-11-29T05:32:02.263 に答える