问题描述
||
我第一次在堆栈上发帖溢出,所以我希望有人能够帮我解决这个问题:
我在页面上有3个nivo-slider,水平排列。我希望它们被同步,但更多的时候不要让它们在几秒钟后不同步。使用以下代码初始化所有滑块时,就是这种情况:
$(window).load(function() {
$(\'#slider\').nivoSlider({
animspeed:500,pauseTime:3000,});
});
但是,我发现可以像这样设置一个滑块,并使用参数设置另外两个滑块:
manualAdvance:true,
然后使用:
beforeChange: function(){},
在第一个滑杆上控制其他两个滑杆-使它们保持同步。但是...我不确定在这里使用什么功能来转发其他滑块,而且我到处都看过,非常感谢您的帮助,在此先感谢您!
解决方法
这似乎没有在插件的核心中实现
但您可以自己添加
在Nivo Slider v2.6中,第633行的未压缩版本恰好在start和stop函数声明下方
// 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\');
}
在包含已更改的.js并可能自己压缩之后(http://javascriptcompressor.com/),您可以像
$(\'#slider\').nivoSlider().data(\'nivoslider\').run();
把它放在正确的事件,你应该做
, 设置暂停时间和animSpeed应该可以使您的nivo滑块同步。
您说“更多的时间,然后它们在几秒钟后不会不同步”,这是否可能是您的pauseOnHover:是的,并且您无意中将鼠标悬停在它们之上,并且它们变得不同步了。可能是一个愚蠢的问题,但这已经发生在我身上。