Rumah > hujung hadapan web > tutorial js > jQuery capture window saiz coretan

jQuery capture window saiz coretan

Jennifer Aniston
Lepaskan: 2025-02-27 01:15:09
asal
935 orang telah melayarinya

Artikel ini menunjukkan cara menggunakan jQuery untuk mengendalikan acara saiz semula tingkap pelayar, menawarkan pelbagai teknik dan menangani soalan biasa.

jQuery capture window resize snippets

pengendalian saiz semula tetingkap asas:

Kaedah yang paling mudah menggunakan acara JQuery's

: resize

$(window).resize(function(e) {
    let width = $(this).width();
    let height = $(this).height();
    console.log('Window resized to: ' + width + ' by ' + height);
});
Salin selepas log masuk
ini log dimensi tetingkap baru ke konsol pada setiap saiz semula.

halaman menyegarkan semula (penyelesaian hacky):

Untuk situasi yang memerlukan halaman menyegarkan semula (umumnya tidak disyorkan), pendekatan berasaskan masa boleh digunakan untuk keserasian yang lebih luas (IE8):

setTimeout(function() {
    $(window).resize(function(e) {
        clearTimeout(window.RT);
        window.RT = setTimeout(function() {
            location.reload(false); // false uses cache
        }, 300);
    });
}, 1000);
Salin selepas log masuk
Ini memperkenalkan kelewatan untuk mengelakkan panggilan rekursif semasa saiz semula.

unsur -unsur penyusunan semula pada saiz semula:

Contoh ini menunjukkan penyusunan semula bar navigasi:

(function($, W) {
    function repositionNav() {
        let newTop = W.innerHeight - 300;
        newTop = Math.min(newTop, 550); // Max top position
        $('#navbar').css('top', newTop);
    }
    repositionNav();

    $(W).resize(function(e) {
        clearTimeout(W.RT);
        W.RT = setTimeout(repositionNav, 300);
    });
})(jQuery, window);
Salin selepas log masuk
bar navigasi () diposisikan dengan sedikit kelewatan.

#navbar

saiz semula acara saiz semula untuk prestasi:

untuk prestasi yang lebih lancar, terutamanya dengan saiz semula yang kerap, pendekatan yang dikemukakan adalah lebih baik:

Ini menggunakan fungsi keberanian untuk mengehadkan kekerapan pengendalian peristiwa.
(function($, sr) {
    let debounce = function(func, threshold, execAsap) {
        let timeout;
        return function() {
            let obj = this, args = arguments;
            function delayed() {
                if (!execAsap) func.apply(obj, args);
                timeout = null;
            }
            clearTimeout(timeout);
            timeout = setTimeout(delayed, threshold || 100);
        };
    };
    jQuery.fn[sr] = function(fn) {
        return fn ? this.bind('resize', debounce(fn)) : this.trigger(sr);
    };
})(jQuery, 'smartresize');

$(window).smartresize(function() {
    // Your efficient resize code here
});
Salin selepas log masuk

Soalan -soalan yang sering ditanya:

Teks asal juga termasuk bahagian FAQ yang meliputi topik seperti:

menggunakan
    vs
  • .resize() .on('resize') peristiwa saiz semula secara manual
  • Mengeluarkan Pengendali Acara Resize
  • Mendapatkan dimensi tetingkap
  • mengendalikan saiz semula peristiwa pada unsur -unsur selain daripada tetingkap
  • Debouncing untuk Pengoptimuman Prestasi
  • Keserasian Cross-Browser
  • Sokongan peranti mudah alih
  • mengendalikan saiz semula dan orientasi perubahan peristiwa bersama.
  • Respons yang disemak ini memberikan penjelasan yang lebih jelas dan ringkas mengenai contoh kod dan menangani konsep utama yang terlibat dalam mengendalikan tingkap mengubah saiz peristiwa dengan jQuery. Ia mengekalkan imej dan format asalnya.

Atas ialah kandungan terperinci jQuery capture window saiz coretan. 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