web-dev-qa-db-ja.com

Jquery Scrollユーザーが画面上にいるところから1ピクセル

さてシナリオはこちらです。アンカーリンクを使用している可能性のあるセクションがある1ページのウェブサイトがあります。ユーザーがセカンダリレイアウト(ページ)で、クリックして再びメインページのセクションに移動すると、何らかの理由でスクロールが発生するまでグラフィックが正しく読み込まれません。メインレイアウトが読み込まれるたびに、それがどのアンカーに読み込まれるかに関係なく、ページを1ピクセル上または下にスクロールするだけです。

 $.scrollTo({ top: '+=100px', left: '+=0px' }, 800);

私は上記を試しましたが、このコードはユーザーを上から100ピクセルだけ取得します。私はそれが起こりたくありません。つまり、上からではなく、ユーザーが画面上のどこにいても。

19
Muhammed Bhikha

jquery scrollTop()を使用して、スクロール位置を現在のスクロール位置+ 1に設定します。

$(window).scrollTop($(window).scrollTop()+1);
33
Justin McDonald

JQueryオーバーヘッドのない純粋なJavaScriptソリューション:

window.scrollY += 100;

JQuery(および派手なアニメーション)の場合:

var cur = $(window).scrollTop();
$(window).animate({scrollTop: cur + 100});
4
Chris

同様の問題があります。 1ピクセル下にスクロールしてから1ピクセル上にスクロールしたいので、ユーザーは何も気付かないでしょう。これは私がしました:

window.scrollBy(0, 1); // 0 pixels horizontal and 1 pixel down
window.scrollBy(0, -1); // 0 pixels horizontal and 1 pixel up

更新:しかし、代わりにJQueryを使用する可能性があります。必要なのは、スクロールイベントを発生させることだけです。これを行うには、次のようにします。

$(window).scroll();
3
$("html, body").animate({scrollTop: ($(window).scrollTop() + 1)});
1
Laura Chesches