私のウェブページには、オーバーフローしたdiv(つまり、垂直スクロールバー)があります。 div内には、IDを持つアンカーがあります。これらのIDの1つをURL(mypage.html#id)に入れると、ページではなくdivがそのアンカーにスクロールします。オーバーフローしたdivを証明ハッシュタグ(アンカー)にスクロールするにはどうすればよいですか?
どのようにすればよいのですか?複雑すぎる場合はjQueryを使用しますが、このプロジェクトでは何も使用していません。
私のウェブページには、オーバーフローしたdiv(つまり、垂直スクロールバー)があります。 div内には、IDを持つアンカーがあります。これらのIDの1つをURL(mypage.html#id)に入れると、ページではなくdivがそのアンカーにスクロールします。オーバーフローしたdivを証明ハッシュタグ(アンカー)にスクロールするにはどうすればよいですか?
どのようにすればよいのですか?複雑すぎる場合はjQueryを使用しますが、このプロジェクトでは何も使用していません。
$('.overflow').scrollTop($('#anchor').offset().top);
あなたは、標準のJavaScriptにこれを変換することはできませんすべての理由はありません。
アンカー要素に余白がある場合、スクロールはオフになります。
私はHTMLとCSSを少し再構成しなければなりませんでしたが、これは(.offset()ではなく).position()で動作します。 jQueryのソースを見て、これらのメソッドをリッピングするのはちょっと難しいかもしれません。成功すれば私は純粋なjavascriptを投稿しようとします。 – user323094
これを取り除くには、jQueryの相互依存性が多すぎます。このソリューションではどうしたらいいのですか?次の機能では、とにかくjQueryを使用することに気づきました。答えをありがとう。 – user323094
実際、私はfocus()を使ったより簡単な解決法を試してみましょう。 – user323094
アンカーにfocus()
を設定しようとしましたか?
tabindexを持つDOM要素はすべてフォーカス可能であり、フォーカスを持つ要素はブラウザによって表示にスクロールされます。
答えをありがとう。 – user323094
ええ、ありがとう! – chris
これまでのコードを表示 –
これらの回答はすべて3つありますので、ありがとうございます。私はまだクロスブラウザテストを行う必要がありますが、今のところ私は.focus()と一緒に行きました – user323094
したがって、複数のブラウズをテストすると、.scrollTop()だけが動作することがわかりました。 – user323094