ホームページ > ウェブフロントエンド > jsチュートリアル > jQueryは、スクロールするときに要素を視界に保ちます

jQueryは、スクロールするときに要素を視界に保ちます

Lisa Kudrow
リリース: 2025-02-27 01:05:09
オリジナル
677 人が閲覧しました

このjQueryコードスニペットは、ページがスクロールするときに要素を視界に保ちます。 デモは、右側のサイドバー広告にこの効果を示しています。 このコードは、スタンドアロンスクリプトと再利用可能なjQueryプラグインの両方として表示されます。 最後に、FAQセクションは、一般的なjQueryスクロールの質問に対処します

jQuery Keep Element in View When Scrolling

コード(スタンドアロン):

//keep element in view
(function($) {
    $(document).ready(function() {
        var elementPosTop = $('#jq4u-sidebar-ads').position().top;
        $(window).scroll(function() {
            var wintop = $(window).scrollTop(), docheight = $(document).height(), winheight = $(window).height();
            if (wintop > elementPosTop) {
                $('#jq4u-sidebar-ads').css({ "position": "fixed", "top": "10px" });
            } else {
                $('#jq4u-sidebar-ads').css({ "position": "inherit" });
            }
        });
    });
})(jQuery);
ログイン後にコピー

コード(jqueryプラグイン):

/**
 * jQuery keep element in view plugin.
 *
 * @author      Sam Deering
 * @copyright   Copyright (c) 2012 jQuery4u
 * @license     http://jquery4u.com/license/
 * @link        http://jquery4u.com
 * @since       Version 1.0
 * @notes       Plugin only works on scroll down elements.
 */

(function($) {
    $.fn.keepElementInView = function() {
        var elemPosTop = this.position().top;
        $(window).scroll(function() {
            var wintop = $(window).scrollTop(), docheight = $(document).height(), winheight = $(window).height();
            if (wintop > elemPosTop) {
                this.css({ "position": "fixed", "top": "10px" });
            } else {
                this.css({ "position": "inherit" });
            }
        });
        return this;
    };

    $(document).ready(function() {
        $('#jq4u-sidebar-ads').keepElementInView();
    });
})(jQuery);
ログイン後にコピー

よくある質問(FAQ): このセクションでは、アニメーションおよびインスタントスクロールの手法、水平スクロール、ビューポートチェック、ボタントリガースクロールなど、jQuery要素ビュースクロールに関する一般的な質問に対する簡潔な回答を提供します。 コードの例は、読みやすさを改善するためにわずかに再フォーマットされています。

q1:elementにスクロールするのをアニメーションしますか?

q2:要素にインスタントスクロールしますか?

$('html, body').animate({ scrollTop: $("#elementID").offset().top }, 2000);
ログイン後にコピー

Q3:要素への水平スクロール?

​​
$('html, body').scrollTop($("#elementID").offset().top);
ログイン後にコピー

Q4:要素が表示されているかどうかを確認しますか?

$('html, body').animate({ scrollLeft: $("#elementID").offset().left }, 2000);
ログイン後にコピー

Q5:[ボタン]クリックの[要素]をスクロールしますか?

以上がjQueryは、スクロールするときに要素を視界に保ちますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート