0

クリックすると展開する div を取得しました。ページの下部と下部の近くにある場合があります。私が欲しいのは、一番下に近づいたときに、そのすぐ下にスクロールする必要があるということです。

これまでの私の解決策は以下です。値を計算してアニメーション化する方法はわかりましたが、スクリプトがページの一番下までスクロールしたい理由がわかりません。何か案は?

編集
Doh のせいで、一番下までスクロールしなくなってしまいました。質問は、div の 10px のすぐ下にスクロールするにはどうすればよいですか? 私は言うとは思わないscrollTop: total

jquery

       var $ediv = $this.parent('div').find('.order-expand-row');
       var hDiv = $ediv.outerHeight();
       var oDiv = $ediv.offset().top;
       var wHeight = $(window).height();
       var total = hDiv + oDiv + 10;

       if (total >= wHeight) {                                   
          $('html, body').animate({ scrollTop: total }, 600);
       }
4

1 に答える 1

0

一杯のお茶は魔法のようです ;)

wHeightfromを減算することで解決しました。これによりtotal、スクロールする必要がある値が得られました。それをクリアするために必要だったのは、スクロールする場所ではなく、スクロールして停止したい位置でした。

   var $ediv = $this.parent('div').find('.order-expand-row');
   var hDiv = $ediv.outerHeight();
   var oDiv = $ediv.offset().top;
   var wHeight = $(window).height();
   var total = hDiv + oDiv + 10;
   var scrollTo = total - wHeight; //the scroll position

   if (total >= wHeight) {                                   
      $('html, body').animate({ scrollTop: scrollTo }, 600);
   }
于 2012-10-10T08:28:44.440 に答える