2013-03-13 97 views
1

冲突我有一个网站,使用称为“循环”的jQuery滑块。当你点击一张幻灯片时,一个fancybox弹出。滑块然后暂停哪个是正确的,但我需要的是滑块在fancybox关闭后恢复。从本质上讲,我无法获得此代码的第二部分功能。jquery与jQuery循环滑块与fancybox

$('.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'); 
}); 
+1

能否提供一些相关的HTML请 – 2013-03-13 23:12:55

+0

无法看到您的HTML无法做多 – hammus 2013-03-13 23:13:54

回答

0

尝试使用事件委托的关闭按钮,以防万一它得到建立在飞(因此不存在在页面加载尚):

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

UPDATE:

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

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

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

+0

对不起,缺乏HTML。史蒂夫的代码像魅力一样工作。我知道这是fancybox的问题,我不知道如何在jsfiddle中复制该功能。 – JaggsWaggert 2013-03-13 23:32:38