是否可以在mouseleave上停用插件'bxSlider'?
$('.post').mouseenter(function() {
$('.content .bxSlider').each(function(){
$(this).bxSlider({auto: 'true'});
});
}).mouseleave(function() {
// ??
});
请建议......
答案 0 :(得分: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链接到的页面中起作用(在下面的注释中)。
希望这能为你排序:)