jQuery窗口大小调整触发只触发一次

jQuery Window Resize Trigger Only Firing Once

本文关键字:一次 窗口大小 调整 jQuery      更新时间:2023-09-26

我试图在多个jquery选项卡中包含一个滑块,但因为滑块需要一个宽度和高度才能正确显示,所以当选项卡发生变化时,我需要调用窗口调整大小触发器。这段代码可以工作,但只有一次:

jQuery(".vc_tta .vc_tta-tab, .vc_tta .vc_tta-panel-title").click(function() {
    jQuery(window).trigger("resize");
});

我把这个放在我的document.(ready)函数之外,但它仍然只工作一次。

这是我完整的脚本:

jQuery(document).ready(function($){
    $('.slider-<?= $name ?>').slick({
        slidesToShow: 1,
        centerMode: true,
        centerPadding: '200px',
        arrows: true,
        focusOnSelect: true,
        responsive: [
            {
                breakpoint: 800,
                settings: {
                    centerMode: false
                }
            }
        ]
    });
});
jQuery(".vc_tta .vc_tta-tab, .vc_tta .vc_tta-panel-title").click(function() {
    jQuery(window).trigger("resize");
});

我不能完全复制我在WordPress中使用Visual Composer,但这是相同的问题:https://jsfiddle.net/keithpetrillo/d9jrgs80/

无需将功能移出document.ready。尝试从文档中委派事件:

jQuery(document).on('click', ".vc_tta .vc_tta-tab, .vc_tta .vc_tta-panel-title", function() {
    jQuery(window).trigger("resize");
});

这适用于不存在或在页面加载时隐藏的元素