jQuery窗口大小调整触发只触发一次
jQuery Window Resize Trigger Only Firing Once
我试图在多个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");
});
这适用于不存在或在页面加载时隐藏的元素
相关文章:
- 只有当选项卡/窗口有焦点时,页面才能每5秒刷新一次
- 每个用户只显示一次放大弹出窗口
- 如何使用jQuery一次关闭多个弹出窗口
- 窗口退出时的模式弹出窗口 - 重置一次
- 每个用户仅显示一次弹出窗口
- 弹出窗口不会根据需要在每个会话中显示一次(如客户端所述)
- jQuery Slider在jQuery弹出窗口中只初始化一次
- ASP.NET:每5分钟从代码后面调用一次弹出窗口
- Bootstrap弹出窗口只出现一次
- 我想在窗口加载后只调用一次JavaScript setInterval函数
- JavaScript - 弹出窗口仅打开一次
- 让窗口在一次单击触发两个页面重定向后保持焦点
- 简单模式弹出窗口显示每个会话一次
- 如何避免由其他事件触发的多次窗口大小调整
- 窗口大小调整仅有效一次
- 只添加一次调整大小事件处理程序
- Google Chrome扩展:只创建一次窗口
- 让jQuery代码在窗口中加载,滚动和调整大小只触发一次
- jQuery窗口大小调整触发只触发一次
- Fire脚本一次与JQuery窗口大小调整和媒体查询