我正在使用YUI 2.7庫來處理網頁中的雙滑塊(範圍滑塊)控件。YUI API雙滑塊控件問題
它工作的很好 - 但是,我希望允許用戶通過Ajax切換範圍值 - 有效地將價格範圍從「0-50,000」更改爲子集(例如「50-250」)而無需重新加載這一頁。
問題是,它看起來從現有滑塊的值不會重置,即使我明確地將它們重新設置爲NULL函數內部以「重建」滑塊。
滑塊手柄在ajax請求後出現位置偏移(向右移動縮放比例)並且滑塊的值顯然隨機波動。
有沒有一種方法來顯式銷燬YUI滑塊對象,除了將其引用設置爲null?或者我只需要以某種方式重新聲明縮放比例和最小/最大值?
感謝所有幫助(我會嘗試發佈一個鏈接到一個例子ASAP)
下面的代碼:
function slider(bg,minthumb,maxthumb,minvalue,maxvalue,startmin,startmax,aSliderName,soptions) {
var scaleFactor = null;
var tickSize = null;
var range = null;
var dual_slider = null;
var initVals = null;
var Dom = null;
range = options.sliderLength;
if ((startmax - startmin) < soptions.sliderLength) {
tickSize = (soptions.sliderLength/(startmax - startmin));
}else{
tickSize = 1;
}
initVals = [ 0,soptions.sliderLength ], // Values assigned during instantiation
//Event = YAHOO.util.Event,
dual_slider,
scaleFactor = ((startmax - startmin)/soptions.sliderLength);
dual_slider = YAHOO.widget.Slider.getHorizDualSlider(
bg,minthumb,maxthumb,range, tickSize, initVals);
dual_slider.subscribe("change", function(instance) {
priceMin = (dual_slider.minVal * scaleFactor) + startmin;
priceMax = (dual_slider.maxVal * scaleFactor) + startmin;
});
dual_slider.subscribe("slideEnd", function(){ alert(priceMin + ' ' + priceMax); });
return dual_slider;
}
感謝Luke--這就是我想知道,你用一個例子太釘下來!我很感激幫助。 – julio 2010-10-29 16:04:04