javascript - jQuery 窗口调整大小触发器仅触发一次

标签 javascript jquery css tabs slider

我试图在多个 jquery 选项卡中包含一个 slider ,但是因为 slider 需要宽度和高度才能正确显示,所以我需要在选项卡更改时调用窗口调整大小触发器。此代码有效,但只有一次:

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");
});

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

关于javascript - jQuery 窗口调整大小触发器仅触发一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39352314/

相关文章:

javascript - 当窗口大小调整为 776px 或更小时,停止 bxslider 上的自动旋转

jquery - 鼠标悬停时增加 div 的大小

android - 视口(viewport)和 CSS 媒体查询的宽度不同?

javascript - 在 Parse.com 的 Cloud 代码中,异步代码为 for 循环中的变量提供了错误的值

具有多个条件的 JavaScript 运算符

jquery - 响应式移动 Web 开发的加载速度。

Jquery 可排序 ('serialize' )

css - 严格设置样式?

javascript - D3 标签到可拖动的圆圈

jquery - Html.ValidationMessageFor 带有图像和工具提示