2011-05-31 68 views
1

我第一次张贴在堆栈溢出所以我希望有人能够给我一个手这个问题:寻找一个函数来同步多个NIVO-滑块

我有一个3 NIVO,滑块页面,水平排列。我希望它们能够同步,但更多的时候不会在几秒后失去同步。出现这种情况时,所有滑块与此代码初始化:

$(window).load(function() { 
    $('#slider').nivoSlider({ 
     animSpeed:500,   
     pauseTime:3000,   
    }); 
    }); 

不过,我想,我可以设置一个滑块像这样和另外两个与参数:

manualAdvance:true, 

,然后用:

beforeChange: function(){}, 

在第一个滑块上控制另外两个 - 使它们保持同步。然而......我不确定在这里使用什么函数来转发其他滑块,并且我已经看到了任何地方,我非常感谢你对此的帮助,提前致谢!

回答

1

这似乎并不在插件

的核心中实现,但你可以自行添加

在NIVO滑块V2.6刚开始的函数声明和低于线633的无压缩版本停止

// Start/Stop 
this.stop = function(){ 
    if(!$(element).data('nivo:vars').stop){ 
     $(element).data('nivo:vars').stop = true; 
     trace('Stop Slider'); 
    } 
} 

this.start = function(){ 
    if($(element).data('nivo:vars').stop){ 
     $(element).data('nivo:vars').stop = false; 
     trace('Start Slider'); 
    } 
} 

您可以添加如下因素的功能

//Manually run the slider 
this.run = function() { 
     nivoRun(slider, kids, settings, 'next'); 
} 

incldueing改变的.js文件,也许以后自己(http://javascriptcompressor.com/)压缩它你可以用它像

$('#slider').nivoSlider().data('nivoslider').run(); 

把这个正确的情况下,你应该做的

0

设置暂停时间和animSpeed应该让你的nivo滑块同步我会想到的。

你说“更多的时候它们不会在几秒钟后失去同步”,是否有可能你有pauseOnHover:true,你无意中将它们悬停在它们上面,它们不同步。可能是一个愚蠢的问题,但这发生在我身上。