1

我有一个使用名为“循环”的 jQuery 滑块的网站。当您单击幻灯片时,会弹出一个花式框。然后滑块暂停,这是正确的,但我需要的是在花式框关闭后滑块恢复。本质上,我无法让这段代码的第二部分起作用。

$('.fancy-box').click(function(){
console.log('pause is working')
$('.hero-carousel').cycle('pause');
});

$('.fancybox-close').click(function(){
console.log('resume is working');               
$('.hero-carousel').cycle('resume');
}); 
4

1 回答 1

0

尝试为关闭按钮使用事件委托,以防它即时构建(因此在页面加载中还不存在):

$("body").on("click", ".fancybox-close", function(event){
    console.log('resume is working');               
    $('.hero-carousel').cycle('resume');
});

更新:

由于这似乎已经解决了这个问题,我想解释一下这个问题稍微好一点(以防将来有人遇到同样的问题)。

加载页面时,没有类名为fancybox-close. 因此,点击处理程序永远不会附加到任何东西。

$("body").on("click", ".fancybox-close", function(event){...});将监听 body 标记内发生的任何点击(几乎是每次点击),如果该点击源自类名为 的元素fancybox-close,那么它将执行该函数。因此,我们现在不再依赖于页面加载时是否存在元素。

于 2013-03-13T23:20:34.787 回答