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,你無意中將它們懸停在它們上面,它們不同步。可能是一個愚蠢的問題,但這發生在我身上。