2012-04-07 118 views
1

我嘗試設置3個jQuery UI滑塊互連,3個滑塊的總和必須始終保持在100,所以當我更改一個滑塊的值時,其他滑塊必須更新。Jquery多個滑塊互連

在爲例,如果一個滑塊有值40,我提出這個值50,另外兩個滑塊不得不減少5

誰能幫助我嗎? 感謝

回答

0

高值的概率是在任何情況下50 ...這樣設置所有三個滑塊至0至50 ...和它們作爲類=‘選擇無效’

$(".selector").slide(function(event, ui){ 

    $(event.srcElement).removeClass('inactive'); 

    var valuechange = 0; 

    $('.inactive').each(function(value, item){ 
     // get sum of other two sliders 
     valuechange += $(item).slider("option", "value"); 
    }); 

    // subtract sum(othertwo) + this value with 100 to get current changed value 
    valuechange = (valuechange + (ui.values[0])) - 100; 

    $('.inactive').each(function(value, item){ 
      // add other sliders values to changedvalue/2 
      $(item).slider("option", "value", $(item).slider("option", "value") + ((valuechange/2) * -1)); 
    }); 

    $(event.srcElement).toggleClass('inactive'); 
}); 

類希望這解決了你的問題

+0

感謝您的幫助, 這條線幫了我很多:valuechange =(valuechange +(ui.values [0])) - 100; http://jsfiddle.net/rRtAq/6767/ – pol 2012-04-14 18:27:23

+0

我已經更新您的代碼了...現在運行它... http://jsfiddle.net/rRtAq/6769/ ....只替換了這一行$(item).slider('value',itemvalue +((valuechange/2)* -1)); ...將滑塊範圍更改爲0到50 ...因爲在任何情況下最大值的概率爲50 – Dasarp 2012-04-14 18:44:10

+0

我不明白爲什麼您希望50爲高概率,如果其他兩個滑塊的值爲0那麼滑塊的值必須爲100 – pol 2012-04-14 19:06:25