序文この記事は、私が最近仕事で遭遇した問題を記録したものです。アプリネイティブとフロントエンドのh5のハイブリッド開発の過程で、ページの1つは都市リストを選択するページです。これは、MeituanとEle.meの都市選択、銀行アプリの銀行リスト選択、アドレス帳の連絡先選択のアンカーポイントのクイックポジショニングに似ています。初心者として、この機能はまだ少しストレスを感じています。私が見つけた実装方法をいくつか紹介します。 アンカーポイント問題とは何ですか?PC 側の Web ページの場合、一般的な Web ページの右側にある先頭に戻るボタンをクリックすると、Web ページの先頭に直接ジャンプし、アンカー ポイントが実現されます。 モバイル デバイスの場合、携帯電話のアドレス帳を開き、右側の文字をクリックすると、対応する文字の連絡先に直接ページがジャンプします。これもアンカー ポイントの実装です。 一般的な解決策1. <a>タグのhref属性はジャンプ要素のidの値に設定されます。<スタイル> #私のdiv{ 高さ: 1200ピクセル; 幅: 100%; 背景色: ピンク; 位置: 相対的; } { 位置: 絶対; 上: 1000ピクセル; 左: 1000ピクセル; } </スタイル> <div id="mydiv"> 私はページのトップです</div> <a href="#mydiv" rel="external nofollow" >トップに戻る</a> 上記の方法はハイパーリンクを設定するのと同じで、a タグは直接ジャンプしますが、ブラウザのアドレスバーのアドレスが変更されるため、あまり実用的ではありません。 2. ネイティブjsはスクロールバーの位置を取得し、scrollTopを変更します<スタイル> 体{ 位置: 相対的; } h1{ マージン: 0 自動; } .mybtn1{ 位置: 固定; 左: 200px; 上: 500px; } .mybtn2{ 位置: 固定; 左: 200px; 上: 550px; } </スタイル> <本文> <h1 id="topH1">1</h1> <h1>2</h1> <h1>3</h1> <h1>4</h1> <h1>5</h1> <h1>6</h1> <h1>7</h1> <h1>1</h1> <h1>2</h1> <h1>3</h1> <h1>4</h1> <h1>5</h1> <h1>6</h1> <h1>7</h1> <h1>1</h1> <h1>2</h1> <h1>3</h1> <h1>4</h1> <h1>5</h1> <h1>6</h1> <h1 id="tobtmH1">7</h1> <button class="mybtn1" onclick="toTop()">トップに戻る</button> <スクリプト> 関数toTop(){ var topH1 = document.getElementById("topH1") document.documentElement.scrollTop=topH1.offsetTop window.pageYOffset=topH1.offsetTop document.body.scrollTop=topH1.offsetTop; } </スクリプト> </本文> この方法は、ボタンにクリックイベントを追加し、クリックイベントがトリガーされた後にスクロールバーの位置を変更します。ただし、この方法では互換性の問題に対処する必要があり、面倒です。PC とモバイル端末でテストされ、効果があることが確認されています。 3.element.scrollIntoviewはビューに応じてスクロールバーを変更します<スタイル> 体{ 位置: 相対的; } .mydiv{ 上マージン: 100px; 境界線: 1px ピンク } h1{ マージン: 0 自動; } .mybtn1{ 位置: 固定; 左: 200px; 上: 500px; } .mybtn2{ 位置: 固定; 左: 200px; 上: 550px; } </スタイル> <本文> <div class="mydiv"> <h1 id="topH1">1</h1> <h1>2</h1> <h1>3</h1> <h1>4</h1> <h1>5</h1> <h1>6</h1> <h1>7</h1> <h1>1</h1> <h1>2</h1> <h1>3</h1> <h1>4</h1> <h1>5</h1> <h1>6</h1> <h1>7</h1> <h1>1</h1> <h1>2</h1> <h1>3</h1> <h1>4</h1> <h1>5</h1> <h1>6</h1> <h1 id="tobtmH1">7</h1> </div> <button class="mybtn1" onclick="toTop()">トップに戻る</button> <button class="mybtn2" onclick="toBtm()">一番下へ移動</button> <スクリプト> window.onload = 関数(){ } // 呼び出しメソッドは element.scrollIntoview() です //パラメータがtrueの場合、ページまたはコンテナは、要素の上部がビューコンテナの上部に揃うようにスクロールします。//パラメータがfalseの場合、要素の下部がビューコンテナの下部に揃います。function toTop(){ var topH1 = document.getElementById('topH1') topH1.scrollIntoView(true) } 関数toBtm() { var tobtmH1 = document.getElementById('tobtmH1') tobtmH1.scrollIntoView(false) } </スクリプト> </本文> 上記の方法は、アンカー ポイントをビューの上部または下部にジャンプする方法です。この方法にはそれほど多くの欠点はなく、PC とモバイル デバイスの両方でテストされ、効果があることが証明されています。 高度なソリューション高度な方法は、第3世代のプラグインbetter-scrollを呼び出すことです。この方法は個人的にテストされておらず、データに落とし穴はあまりありません。必要な場合は、自分で追加してください。 上記は、JavaScript でスクロール バーの位置を取得し、ページをアンカー ポイントまでスライドさせる方法の詳細です。JavaScript スクロール バーをアンカー ポイントまでスライドさせる方法については、123WORDPRESS.COM の他の関連記事もご覧ください。 以下もご興味があるかもしれません:
|
<<: SSHのssh-keygenコマンドの基本的な使い方の詳細な説明
>>: MySQL でよく使用されるステートメントの包括的な概要 (必読)
最近、私は「ぶどうコレクション」というプロジェクトに取り組んでいます。簡単に言うと、Budou ペー...
私たちが毎日使っているブラウザや Word 文書のスクロール バーはなぜ右側にあるのでしょうか。多く...
Vue.js を使用して、クリックしてズームできる 9 グリッドの画像表示モジュールを作成しました。...
mysql 5.7.19 winx64解凍版のインストールチュートリアルを収録しました。具体的な内容...
この記事の例では、クリックしてカードを切り替える機能を実現するためのjsの具体的なコードを共有してい...
a タグではクリック イベントがよく使用されます。 1. href="javascript...
IDC のサーバーの /partition 使用率がいっぱいです。 100% に到達しました!確認し...
この記事の例では、検索ボックスでファジークエリを実装するためのNodeの具体的なコードを参考までに共...
ローカル開発では、直接アクセスできない静的ファイル リソースのデバッグが必要になる場合があります。こ...
アメリカのYAHOOがページ制作で使用している画像統合技術。これらのアイコン、列背景、画像ボタンを定...
目次序文1. 新しいパーティションを準備する2. ブートパーティションをコピーする3. fstabフ...
html4:コードをコピーコードは次のとおりです。 <フォーム> <p>&l...
1.1 MySQL マルチインスタンスとは何ですか?簡単に言うと、MySQL マルチインスタンスとは...
UI カットのプロセスでは、ページはヘッダー、コンテンツ、フッターの 3 つの部分で構成されることが...
HTMLハイパーリンクaタグのhrefジャンプとonclickの実行関係htmlのaタグのhrefは...