Rumah > hujung hadapan web > tutorial css > Bagaimanakah Saya Boleh Mencapai Kefungsian `.hide()` jQuery Tanpa Menjejaskan Dimensi Elemen?

Bagaimanakah Saya Boleh Mencapai Kefungsian `.hide()` jQuery Tanpa Menjejaskan Dimensi Elemen?

Linda Hamilton
Lepaskan: 2024-11-29 07:00:13
asal
436 orang telah melayarinya

How Can I Achieve the Functionality of jQuery's `.hide()` Without Affecting Element Dimensions?

Mencari Alternatif kepada .hide() jQuery untuk Keterlihatan: Tersembunyi

Dalam jQuery, pembangun mempunyai kemudahan menggunakan .hide() dan .show() untuk memanipulasi keterlihatan elemen dengan menetapkan sifat paparan CSS kepada tiada. Walau bagaimanapun, apabila timbul keperluan untuk menetapkan keterlihatan elemen kepada tersembunyi tanpa mengubah dimensi elemen, mencari fungsi yang setara seperti .hide() boleh menimbulkan cabaran.

Pembangunan Plugin Tersuai

Satu pendekatan ialah mencipta pemalam jQuery tersuai yang menyediakan fungsi yang diingini. Contoh kod berikut menunjukkan penciptaan tiga pemalam:

jQuery.fn.visible = function() {
    return this.css('visibility', 'visible');
};

jQuery.fn.invisible = function() {
    return this.css('visibility', 'hidden');
};

jQuery.fn.visibilityToggle = function() {
    return this.css('visibility', function(i, visibility) {
        return (visibility == 'visible') ? 'hidden' : 'visible';
    });
};
Salin selepas log masuk

Dengan pemalam ini, anda boleh menggunakan fungsi extended visible(), invisible() dan visibilityToggle() untuk mengawal terus keterlihatan elemen tanpa mengubah suainya. saiz fizikal.

Melebihi togol jQuery Asal() Fungsi

Bagi mereka yang lebih suka pendekatan yang lebih biasa, adalah mungkin untuk melebihkan fungsi toggle() jQuery sedia ada untuk mengendalikan togol keterlihatan. Satu kaedah ialah:

!(function($) {
    var toggle = $.fn.toggle;
    $.fn.toggle = function() {
        var args = $.makeArray(arguments),
            lastArg = args.pop();

        if (lastArg == 'visibility') {
            return this.visibilityToggle();
        }

        return toggle.apply(this, arguments);
    };
})(jQuery);
Salin selepas log masuk

Walau bagaimanapun, pendekatan ini tidak disyorkan kerana ia mengubah suai fungsi togol() asal.

Akhirnya, sama ada anda memilih untuk mencipta pemalam anda sendiri atau melebihkan togol () fungsi, penyelesaian yang disediakan menawarkan fungsi yang setara dengan .hide() jQuery untuk mengubah suai keterlihatan elemen melalui keterlihatan harta benda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencapai Kefungsian `.hide()` jQuery Tanpa Menjejaskan Dimensi Elemen?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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