Rumah > hujung hadapan web > tutorial js > jQuery menyimpan elemen memandangkan menatal

jQuery menyimpan elemen memandangkan menatal

Lisa Kudrow
Lepaskan: 2025-02-27 01:05:09
asal
677 orang telah melayarinya

Coretan kod jQuery ini menyimpan elemen yang dilihat sebagai skrol halaman. Demo menunjukkan kesan ini pada iklan bar sisi kanan. Kod ini dibentangkan sebagai skrip mandiri dan sebagai plugin jQuery yang boleh diguna semula. Akhirnya, bahagian Soalan Lazim menangani soalan menatal jQuery biasa.

jQuery Keep Element in View When Scrolling

Kod (mandiri):

//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);
Salin selepas log masuk

kod (plugin 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);
Salin selepas log masuk

Soalan Lazim (Soalan Lazim):

Bahagian ini memberikan jawapan ringkas kepada soalan-soalan biasa mengenai jQuery Element View Scrolling, termasuk teknik untuk menatal animasi dan segera, menatal mendatar, pemeriksaan viewport, dan menatal yang dicetuskan butang. Contoh kod sedikit diubahsuai untuk kebolehbacaan yang lebih baik.

Q1: Tatal Animate ke Elemen? q2: tatal segera ke elemen?

$('html, body').animate({ scrollTop: $("#elementID").offset().top }, 2000);
Salin selepas log masuk

q3: tatal mendatar ke elemen?

$('html, body').scrollTop($("#elementID").offset().top);
Salin selepas log masuk

Q4: Periksa jika elemen berada di Viewport?

$('html, body').animate({ scrollLeft: $("#elementID").offset().left }, 2000);
Salin selepas log masuk

Q5: tatal ke elemen pada butang klik?

Atas ialah kandungan terperinci jQuery menyimpan elemen memandangkan menatal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan