1

HTML文書の一部が表示されているときだけ、特定のJavascript関数を連続して実行したい。これは、その部分が再び表示されなくなったときに関数の実行を停止することを意味します。

可視スコープの外に出るということは、要素が次の方法で外に出ることを意味します。

  • スクロールアウト (垂直または水平)
  • 他のブラウザー タブに変更する
  • タブ/ウィンドウ/ブラウザ全体をシャットダウンしています。

コード例: div メイン (ページ全体) と画面上の div ターゲット (1920 X 1080) が可視範囲より下にあることを確認するスタイルの HTML があります。

<html>
<head>
    <title>Title</title>
<style type="text/css">
    #main{
        height: 2300px;
    }
    .target{
        border: 1px solid black;
        position: relative;
        top:1000px;
        width:150px;
        height: 150px;
    }
</style>
<script scr="js/jquery.js"></script>
</head>
<body>
    <div id="main">
        <div class="target"></div>
    </div>
</body>
</html>

注文するJS / Jqueryコードは何ですか:

div.target が現在表示されているとき my_function() の実行をトリガーします

div.target がスクロールアウトまたはタブが変更されたときに、 my_function() の実行を停止し ますか?

4

1 に答える 1

1

OK、私はこれが答えの悪い方法であることを知っています. 標準では、この質問を閉じて、重複する質問を指摘しますが、この質問には 2 つの部分と 2 つの別個の回答があります。だから、私はここに答えへのリンクを入れています:

パート 1: HTML 要素がスクロール ビューにないことを検出する

スクロール後に要素が表示されるかどうかを確認する

パート 2: タブが表示されていないことを検出する

ブラウザ/タブがアクティブかどうかを確認する方法

上記の両方に有効な答えがあるようです。両方を実装して、必要なものを取得してください。

于 2012-11-22T09:23:37.123 に答える