我试图在多个 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/