2012-12-23 22 views
0

是否可以停用mouseleave上的插件'bxSlider'?如何禁用mouseleave上的bxSlider?

$('.post').mouseenter(function() { 
     $('.content .bxSlider').each(function(){ 
      $(this).bxSlider({auto: 'true'}); 
     }); 
    }).mouseleave(function() { 
     // ?? 
}); 

請諮詢......

+0

再次更新我的回答,不知道你是否獲得該... – lnrbob

+0

是啊,我是令人耳目一新的通知中的每一分鐘:)謝謝通知。 – Nima

回答

2

爲什麼要停止呢?你是否希望它只在徘徊時自動前進? 望着options我相信你可以這樣做:

$('.content .bxSlider').each(function(){ 
     $(this).bxSlider(); 
}); 

$('.post').mouseenter(function() { 
     $('.content .bxSlider').each(function(){ 
      $(this).startAuto(); 
     }); 
    }).mouseleave(function() { 
     $('.content .bxSlider').each(function(){ 
      $(this).stopAuto(); 
     }); 
}); 

當然這個代碼可以優化一下,也許有一些變量,以減少DOM搜索的次數,但我認爲這是你以後在做什麼:)

編輯

右鍵因此上述不起作用。除非滑塊對象是一個變量,否則公用函數將無法識別。我不知道爲什麼,但在這裏就是我得到了周圍:

var sliders = []; // store for the sliders 

$('.content .bxSlider').each(function() { 
    sliders.push($(this).bxSlider({auto: false})); // create a slider and store it 
}); 

$('.post').mouseenter(function() { 
     $.each(sliders, function(i){ 
      sliders[i].startAuto(); // start each slider 
     }); 
    }).mouseleave(function() { 
     $.each(sliders, function(i){ 
      sliders[i].stopAuto(); // stop each slider 
     }); 
});​ 

在這裏,這是工作:http://jsfiddle.net/KBfx9/ 希望幫助!

編輯2 解觸發嵌套幻燈片:

先前的解決方案是同時觸發多個幻燈片。我在這裏修改了它:http://jsfiddle.net/KBfx9/1/觸發嵌套的幻燈片。 注意:我剛剛使用類.content作爲我的標識符而不是後,因爲在我的例子中後者是不需要的。此外,我使用容器的index()來標識相關的滑塊,因爲這將在OP鏈接到的頁面中(在下面的註釋中)工作。

希望這個排序爲你:)

+0

謝謝,我已經嘗試過,然後再試一次,但startAuto和stopAuto沒有被定義爲函數。 – Nima

+0

順便說一句,我正在使用bxSlider和jQuery的最新版本......您認爲可以幫助您的任何其他方式? :) – Nima

+0

是的,抱歉看到我的錯誤。將編輯我的答案與工作:) – lnrbob