2012-10-27 11 views
15

$("body").animate({scrollTop: someValue});に電話すると、$(window).scroll(function() { });も呼び出せます。それをどうすれば実現できますか?

私は成功せず$(window).trigger("scroll")$(window).triggerHandler("scroll")で試してみました。

The code

EDIT: 問題を解決しました。問題を引き起こした$(window).scroll(function() { });ifがありました。

+0

animationTypeは何ですか?そして、 'easeIn'のような反転したカンマの中でanimationTypeを使用するとどうなりますか? – 2619

+0

@ al0neeveningsそれは問題ではありません。本文セクションはスクロールしますが、 '$(window).scrollU();'は呼び出されません。 – Sawny

+1

「スクロール」にバインドされているメソッドが何をしているのかを投稿できますか? –

答えて

7

それが一致しないようhttp://jsfiddle.net/vzyVh/

でデモ

$("html, body").animate({scrollTop: someValue}); 

(クロムbodyを使用しながら、例えば、FFがスクロールするためhtmlを使用).. bodyhtml双方に適用

+0

1)私の問題を解決しません。 2)コールバックが2回呼び出されます。 – Sawny

+0

@sawny、特にあなたのCSSが 'html'と' body'の両方をスクロールできるようにした場合に限ります。デフォルトでは、これらのスクロールのうちの1つだけがスクロールされます。 さらに、 'window'に適用される' scroll'メソッドは一度だけ呼び出されません。各スクロールステップごとに呼び出されます。 –

+1

このスプレッドをhttp://stackoverflow.com/a/12792245/1504300と混在させると、スムーズにスクロールできます。 – reallynice

1

あなたは、コードの下に試すことができます - ここで私は、ID "1" を持っている私のdivタグの一番上までスクロールしています。

$('html,body').animate({ scrollTop: $('#one').offset().top }, 'slow');