2013-03-13 100 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