2016-09-06 171 views
0

我想在多个jquery选项卡中包含一个滑块,但因为滑块需要宽度和高度才能正常显示,所以我需要在选项卡更改时调用窗口大小调整触发器。此代码的工作,但只有一次:jQuery窗口调整大小触发器只触发一次

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的可视化编辑器,但这是同一个问题:https://jsfiddle.net/keithpetrillo/d9jrgs80/

+0

控制台错误? –

+0

不,没有任何东西显示在他控制台 –

+0

只能工作一次,或者仅适用于可见元素,因为其余部分隐藏了选项卡? – isherwood

回答

1

无需移动功能外部document.ready。尝试从文档中委托事件:

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

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

+0

这个工作,但仍然只有一次:(:(第一个标签,我点击,无所谓哪个) –

+0

很难从你给我们的东西说,你可以复制演示? – isherwood

+0

是的,我已经更新了上面的问题 –