我将滑块值作为文本插入到滑块手柄本身内,滑动时效果很好。但我还需要在页面加载时显示该值,这意味着我需要在第一次初始化滑块时注入该值,而我无法确定如何执行此操作。
通常,您可以使用 ui.handle 获取句柄,但根据“创建”事件的文档“ui 对象是空的,但为了与其他事件保持一致而包含在内”。
这是初始化函数。页面的标记大多与问题无关,因为唯一涉及的标记是由 jQuery-ui 本身创建的滑块内的句柄(“a”标记)。
function initMapWidget(){
var map = $('#popup-about-ourstory').children('.map')
, slider = $(map).find('#map-slider')
, yearStart = 1983
, yearEnd = 2013
;
$(slider).slider({
min: yearStart,
max: yearEnd,
create: function( event, ui ){
$(slider).children('a').innerHTML = yearStart;
},
slide: function( event, ui ){
ui.handle.innerHTML = ui.value;
}
});
});
如果可能的话,我真的很想远离 setTimeout 解决方案。