問題タブ [scrolltop]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
378 参照

firefox - scrollTop=0 ブラウザの互換性の問題

右側の IFrame に読み込まれるさまざまなページにリンクするボタンを備えたサイドバーを持つ単純な Web サイトを作成しています。ページが常に上部にロードされるようにしたいので、子ページの head タグに次のコードを追加しました。

`

Safari では動作しますが、Firefox では動作しません。なぜですか? 両方のブラウザで何が機能しますか?

0 投票する
3 に答える
7485 参照

javascript - ブラウザ間で一貫性のないjQuery scrollTop

Chrome と Safari では$("body").scrollTop(1000)、期待どおりに動作します。

IE と FF では何も起こりません。

IE と FF では$(window).scrollTop(1000)動作しますが、別の場所に移動します。Chrome と Safari でも動作しますが、どちらも別の場所に移動します。最大で 300 ~ 500 ピクセルずれているようです。

クロスブラウザで機能するscrollTopプロパティを設定する一貫した方法はありますか?そうでない場合、なぜjQueryはこれを抽象化しないのですか?

Chrome と Safari では正常に動作しますが、他のブラウザーでは動作しません。

ブラウザ検出を行う唯一のオプションはありますか? (悪い習慣)またはもっと良い方法はありますか?

0 投票する
1 に答える
148 参照

jquery - jQueryscrollTopを使用するときのスクロールの不快感

非常に単純なコードを使用して、ページの上部へのスクロールをアニメーション化しています。コードは次のとおりです。

何らかの理由で、スクロールが発生した後、もう一度下にスクロールしようとすると、ページが数秒間jarされてから、下にスクロールできるようになります。FFを使用する場合は最悪のようですが、他のブラウザではそれほど良くありません。

耳障りな音を止める方法について誰かが何か考えを持っていますか?

0 投票する
1 に答える
3142 参照

jquery - jQueryで位置までスクロールする

こんにちは、私を怒らせているちょっとした疑問です。

このボタンをクリックすると、ボタンまで自動的にスクロールダウンしようとしています。

ボタンの y-index 値を scrollIndex という変数に保存しました (offset() メソッドのおかげです)。

そして今、私はこれで私のウィンドウを下にスクロールしようとしています:

私は実際に多くのことを試しましたが、何もうまくいかないようです.scrollTopメソッド()の使い方が間違っているためだと思います.

助けはありますか?ありがとうございました!

私の完全なコード:

解決しました!次のように click() 内にすべてを書きました:

そして、理由がよくわからないことを除いて、すべてが機能するようになりました...クリックイベントハンドラを外部関数にリンクできない理由を誰かが理解していれば、答えを知ってうれしいです。

ありがとうございます!

0 投票する
4 に答える
59089 参照

jquery - animate.scrolltopおよび(target).offset()。topを使用した固定ヘッダーのアカウンティング。

これはかなり基本的な質問になるはずですが、私は朝のほとんどをそれに投げかけました、そしてこの時点で私はタオルを投げるところです。js fooは少しもありませんが、アンカーリンクをアニメーション化するために使用したいと思っている、コメントの付いたコードのチャンクを見つけました。

私はそれをoffset()。topの30px上に着陸させようとしています-私は試しました

$('html, body').stop().animate({ scrollTop: scrollToPosition -30}, 600,

これはほとんど機能します-それは正しい場所に行きますが、その後跳ね返ります。

私も試しました

scrollTop: $(target).offset().top - 20 },

私も試しました

scrollTop: $(hash).offset().top + $('#access').outerHeight()

これは何も変わらないようです。

答えはここにあるようです:ヘッダーが修正されたJQueryページスクロールの問題 ですが、私はそれを完全に理解できないようです。

これは他の質問と似ていることはわかっていますが、見つけたものを確認しましたが、問題を解決するものをコピーして貼り付けることができなかったため、十分な知識がありません。

私は解決策に非常に感謝しています。

どうもありがとう、

マーティン

PS

私が見つけたこの他のコードのチャンクは機能しますが、ハッシュタグが削除されているため、ほとんど役に立ちません。

0 投票する
1 に答える
5104 参照

html - HTML/CSS (javascript なし) を介してオーバーフロー要素の "scrollTop" を設定する

次のhtmlがあるとします。

この div の内容がオーバーフローしてしまった場合、この項目のスクロール位置を変更する最も一般的な方法は、jQuery.scrollTop() を使用することです。ただし、ソース HTML を使用して div の初期スクロール位置を設定したい状況があります。これを行う方法はありますか?これを行うためにオンラインで見たすべての例は、javascriptを使用することになります。

私が試した 1 つの方法は、次のように、要素に scrollTop プロパティを書き込むことです。

ただし、これは機能しません。確かに、HTML/CSS を使用して、オーバーフローしたアイテムの最初のスクロール位置を設定する方法があるはずです...

これが機能しないことを示すこのコードの完全なバージョンを次に示します。垂直スクロールバーは「0」のままです: http://jsfiddle.net/gueBZ/1/

誰かがそれを機能させるのを手伝ってくれますか? ご指摘ありがとうございます。

0 投票する
1 に答える
3228 参照

jquery - JQuery animate scrollTop コンテナ

フォームを最初のエラーまでスクロールする次のスニペットがあります。

jquery 検証コードの最後の完全なブロックは次のようになります。送信時にエラーが発生した場合は、フォームを最初のエラーまでスクロールします。

$('html,body')しかし、を div class などのコンテナー要素の名前に置き換えると、$('.myDivClass')うまく機能しないようです。ランダムな場所にスクロールするだけです。

コンテナー要素の css は次のようになります (意味がわかります)。

0 投票する
1 に答える
2145 参照

javascript - scrollTop jqueryアニメーション使用時のマイクロジャンプ

scrollTop jquery アニメーションに問題があります。アニメーションの直前にマイクロジャンプします。コンテンツが重いほど、最悪です。

なぜそれをするのか理解できません...

以下、私のコードのサンプル。(ファイルにコピー/貼り付けするだけです。これはスタンドアロンコードです。jsfiddleで良い結果が得られませんでした)

内容はそんなに重くないのでバグが見にくいです。Firefoxは見やすく、スクロールも速いです。

あなたの良いアドバイスを待っています。:)

0 投票する
5 に答える
18156 参照

jquery - JQuery animate scrollTop が正しく動作しない

次の JQuery コードは、ページをフォームの最初のエラーまでスクロールします。

しかし、を固定位置$('html,body')の div クラスなどのコンテナー要素の名前に置き換えると、$('.myDivClass')うまく機能しないようです。送信ごとにランダムな場所に上下にスクロールするだけです。コンテナー要素が html,body 以外の場合、正しく動作しないようです。

何が間違っているのかわかりません。

コンテナー要素の css は次のようになります (意味がわかります)。

相対的な配置に offset() の代わりに position() を使用しようとしましたが、違いはありませんでした。

ありがとうございました!

更新: これには解決策がないようです。