我试图在多个jquery选项卡中包含一个滑块,但由于滑块需要宽度和高度才能正确显示,因此我需要在选项卡更改时调用window resize触发器。此代码有效,但只有一次:
jQuery(".vc_tta .vc_tta-tab, .vc_tta .vc_tta-panel-title").click(function() {
jQuery(window).trigger("resize");
});
我把它放在我的文档。(就绪)功能之外,但它仍然只能运行一次。
这是我的完整脚本:
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/
答案 0 :(得分:1)
无需将功能移到document.ready
之外。尝试委派文档中的事件:
jQuery(document).on('click', ".vc_tta .vc_tta-tab, .vc_tta .vc_tta-panel-title", function() {
jQuery(window).trigger("resize");
});
这适用于在页面加载时不存在或隐藏的元素。