2012-09-12 45 views

回答

2

這種唯一的方法,我可以看到如何得到這個工作是設置一個超時在JavaScript更新位置基於.ui-slider-range寬度。

Check out this fiddle

$(document).ready(function() { 

    $('#slider').slider({ 
     range: "min", 
     value: 1, 
     min: 1, 
     max: 10, 
     step: 1, 
     slide: function(event, ui){ 
      console.log(ui); 
      console.log(ui.handle.attributes[2].value); 
      setTimeout(setPosition, 10);    
     } 
    }) 
    $('#slider').slider('value'); 

}); 
function setPosition(){ 
    $('.color').css('width', $('.ui-slider-range').width()); 
} 

通過檢查UI對象,你可以在slide事件進行訪問時,元件的位置似乎是在事件發生後,總是被設置,這意味着你不能真正直接設置正確的寬度/左側位置。如果你看看我的例子,設置超時意味着設置了正確的位置。

+0

非常感謝,現在它工作的很好 – user1409508