1

我第一次在堆栈溢出上发帖,所以我希望有人能帮我解决这个问题:

我在一页上有 3 个 nivo 滑块,水平排列。我希望它们同步,但更常见的是它们不会在几秒钟后不同步。这是使用以下代码初始化所有滑块的情况:

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

但是,我想我可以像这样设置一个滑块,然后使用参数设置另外两个:

    manualAdvance:true,

然后使用:

    beforeChange: function(){},

在第一个滑块上控制其他两个滑块 - 使它们保持同步。但是...我不确定要在此处使用什么功能来转发其他滑块,而且我到处都看过,非常感谢您对此的帮助,在此先感谢!

4

2 回答 2

1

这似乎没有在插件的核心中实现

但你可以自己添加

在 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();

把它放在正确的事件中,你应该完成

于 2011-10-12T11:30:35.400 回答
0

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

您说“更常见的是,它们不会在几秒钟后不同步”,您是否可能有 pauseOnHover: true 并且您无意中将鼠标悬停在它们上方并且它们不同步。可能是一个愚蠢的问题,但这发生在我身上。

于 2013-02-04T05:40:23.580 回答