特定のポイントを超えてスクロールすると、

キース

大なり記号または小なり記号を渡したら、スクロール関数を使用して関数を実行しようとしてい<a>ます。まず、ページに固定されている開始点:

 <div style="height: 200px">
     <input type="text" id="starting-point" />
 <div>

これは、開始点をページの上部から200pxに設定しています。その場合、その背後にあるコンテナは、スクロール時に1000pxから3000pxの範囲になります(ウィンドウをスクロールとして使用)。

 <div style="height: 200px;">
     <input type="text" id="starting-point" />
 <div>
 <div style="height: 3000px;">
     <!-- ... content here  -->
     <div style="height: 200px;">
       <a href="">1</a>
     </div>
     <div style="height: 300px;">
       <a href="">2</a>
     </div>
     <div style="height: 240px;">
       <a href="">3</a>
     </div>
     etc...
 </div>

私が達成しようとし<a>ているのは、開始点を通過するタグに対して、何かを表示することです。したがって、スクロールするときは1から始まり、2が開始点に達すると、ページ上の何か(テキストボックスなど)が1から2に切り替え、以下同様に下に移動し、逆に上に戻ります。これは私がこれまでに持っているものです:

$(document).ready(function () {
    window.addEventListener('scroll', function (e) {
    var setStart = $('#starting-point').offset().top - $(window).scrollTop(); // starting point
    var getTag = $('a');

    if (setStart >= getTag) { 
        run function here
    }else{
        run function here
    }
    });
});

<a>タグがその開始点を通過するときに変数を設定して、必要なものを実行するために関数に渡す方法がわかりません<a>ページには20個のタグが存在する可能性があります。forループを実行しても、問題は解決しないと思います。

ルイ・パトリス・ベセット

これがあなたがそれをする方法のデモです。

他の方法もあるかもしれません。

ロード時に#starting-pointscroll_targetクラスを持つすべてのアンカーの位置を取得します。

次に、スクロール時に、スクロール方向を決定する必要があります...ロジックは、下に行く場合と上に行く場合でわずかに異なるためです。

「ターゲット」位置を通過するたびに、scroll_targetがデクリメント/インクリメントされます。したがって、位置配列のためにどのアンカーが通過したかがわかります。

渡されたアンカーのテキストに基づいて入力を更新するテキスト配列を作成しました。アンカーの値またはdata- *属性の場合もあります。

何が起こっているかを確認するために、すべてのコンソールログを残しました。

$(document).ready(function(){
  var startPoint = $("#starting-point").offset().top;
  console.log(startPoint);
  
  var scrollTargets_pos = [];
  var scrollTargets_text = [];
  
  var scrollingDown = true;
  var lastScroll = 0;
  
  $(".scroll_target").each(function(){
    scrollTargets_pos.push($(this).offset().top);
    scrollTargets_text.push($(this).text());
  });
  console.log(scrollTargets_pos);
  console.log(scrollTargets_text);
  
  var passedIndex = -1;
  
  $(window).on("scroll",function(){
    var scrolled = $(this).scrollTop();
    console.log(scrolled);
    
    // Scroll direction
    scrollingDown = (scrolled > lastScroll);
    lastScroll = scrolled;

    if(scrollingDown){
      // Scrolling down...
      //console.log("down");
      if( scrolled+startPoint > scrollTargets_pos[passedIndex+1] ){
        console.log("======================");
        $("#starting-point").val(scrollTargets_text[passedIndex+1]);
        passedIndex++;
      }
    }else{
      // Scrolling up...
      //console.log("up");
      if( scrolled+startPoint < scrollTargets_pos[passedIndex] ){
        console.log("======================");
        $("#starting-point").val(scrollTargets_text[passedIndex])
        passedIndex--;
      }
    }
  
  });
  
  
});  // End ready
.startPointDiv{
  position: fixed;
  top: 100px;
  left:0;
  width:100%;
  border-top: 1px solid red;
  text-align: center;
}
.content{
  height: 3000px;
  margin-top: 200px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="startPointDiv">
   <input type="text" id="starting-point" />
</div>

<div class="content">
   <!-- ... content here  -->
   <div style="height: 200px;">
     <a href="" class="scroll_target">1</a>
   </div>
   <div style="height: 300px;">
     <a href="" class="scroll_target">2</a>
   </div>
   <div style="height: 240px;">
     <a href="" class="scroll_target">3</a>
   </div>
   etc...
</div>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ユーザーが特定のポイントを超えてスクロールしたときに「クリック」機能を無効にする

分類Dev

特定のポイントを超えてスクロールしてHTMLイベントをトリガーし、次にスクロールして戻ると再トリガーします

分類Dev

ドキュメントが特定のポイントを超えてスクロールされると、リンクが非アクティブになります

分類Dev

別のdivのアンカーポイントを超えてスクロールした後、divが表示されるようにしますか?

分類Dev

スクリーンリーダーが特定のポイントを超えて読み取るのを停止する方法はありますか?

分類Dev

特定のdivを超えてスクロールしたときにメニューの色を変更する

分類Dev

ユーザーが特定のdivを超えてスクロールしたときにcssを変更する

分類Dev

ドキュメント内の特定のポイントを超えてスクロールした後、アニメーションをアクティブにします

分類Dev

UIScrollViewのズームイン-単一の画像を超えてズームしてスクロールすることはできません

分類Dev

比較を超えてテキスト-特定のフォルダからのすべてのファイルに関するレポート

分類Dev

GUIアプリケーションのスクロールペインを超えてスクロールバーを超える方法

分類Dev

Pythonカラーマップを特定のポイントを超えて単一の値に変更する

分類Dev

JTextAreaが特定の行数を超えたときにスクロールバーを有効にする

分類Dev

要素をスクロールしている間、特定のポイントを停止します

分類Dev

コレクションをループする-特定の数を超えるすべてのアイテムをターゲットにする

分類Dev

ゴールドバッハの予想アルゴリズムは、特定の数を超える「リストインデックスが範囲外」であることを示しています

分類Dev

ページ下部を超えてスクロールするライトボックス

分類Dev

Androidでレイアウトをコンテンツを超えてスクロールさせる方法は?

分類Dev

Jodaを使用して、特定のポイントを超えて時間が経過したことを知る

分類Dev

ユーザーが配列内のdivを超えてスクロールしたときを追跡する

分類Dev

VSCodeエディターでファイルの下部を超えてスクロールを停止する方法

分類Dev

VSCodeエディターでファイルの下部を超えてスクロールを停止する方法

分類Dev

VSCodeエディターでファイルの下部を超えてスクロールを停止する方法

分類Dev

グーグルマップは特定のポイントを超えてズームインしません

分類Dev

npmを使用してwebpackをインストールすると、最大コールスタックがエラーを超えます

分類Dev

Windowsコマンドプロンプトがカーソルを超えてスクロールするのを停止します

分類Dev

リストの最後を超えてスクロール

分類Dev

スクロールイベントの特定のポイントまでスクロールするjQuery

分類Dev

javascriptの背景水平/垂直スクロール要素サイトへ:911を超えて

Related 関連記事

  1. 1

    ユーザーが特定のポイントを超えてスクロールしたときに「クリック」機能を無効にする

  2. 2

    特定のポイントを超えてスクロールしてHTMLイベントをトリガーし、次にスクロールして戻ると再トリガーします

  3. 3

    ドキュメントが特定のポイントを超えてスクロールされると、リンクが非アクティブになります

  4. 4

    別のdivのアンカーポイントを超えてスクロールした後、divが表示されるようにしますか?

  5. 5

    スクリーンリーダーが特定のポイントを超えて読み取るのを停止する方法はありますか?

  6. 6

    特定のdivを超えてスクロールしたときにメニューの色を変更する

  7. 7

    ユーザーが特定のdivを超えてスクロールしたときにcssを変更する

  8. 8

    ドキュメント内の特定のポイントを超えてスクロールした後、アニメーションをアクティブにします

  9. 9

    UIScrollViewのズームイン-単一の画像を超えてズームしてスクロールすることはできません

  10. 10

    比較を超えてテキスト-特定のフォルダからのすべてのファイルに関するレポート

  11. 11

    GUIアプリケーションのスクロールペインを超えてスクロールバーを超える方法

  12. 12

    Pythonカラーマップを特定のポイントを超えて単一の値に変更する

  13. 13

    JTextAreaが特定の行数を超えたときにスクロールバーを有効にする

  14. 14

    要素をスクロールしている間、特定のポイントを停止します

  15. 15

    コレクションをループする-特定の数を超えるすべてのアイテムをターゲットにする

  16. 16

    ゴールドバッハの予想アルゴリズムは、特定の数を超える「リストインデックスが範囲外」であることを示しています

  17. 17

    ページ下部を超えてスクロールするライトボックス

  18. 18

    Androidでレイアウトをコンテンツを超えてスクロールさせる方法は?

  19. 19

    Jodaを使用して、特定のポイントを超えて時間が経過したことを知る

  20. 20

    ユーザーが配列内のdivを超えてスクロールしたときを追跡する

  21. 21

    VSCodeエディターでファイルの下部を超えてスクロールを停止する方法

  22. 22

    VSCodeエディターでファイルの下部を超えてスクロールを停止する方法

  23. 23

    VSCodeエディターでファイルの下部を超えてスクロールを停止する方法

  24. 24

    グーグルマップは特定のポイントを超えてズームインしません

  25. 25

    npmを使用してwebpackをインストールすると、最大コールスタックがエラーを超えます

  26. 26

    Windowsコマンドプロンプトがカーソルを超えてスクロールするのを停止します

  27. 27

    リストの最後を超えてスクロール

  28. 28

    スクロールイベントの特定のポイントまでスクロールするjQuery

  29. 29

    javascriptの背景水平/垂直スクロール要素サイトへ:911を超えて

ホットタグ

アーカイブ