我将滑块值作为文本插入滑块手柄本身,滑动时工作正常。但我也需要在pageload上显示该值,这意味着我需要在首次初始化滑块时注入值,而我无法确定如何执行此操作。
通常你可以使用ui.handle获取句柄,但是根据'create'事件的文档“ui对象是空的,但为了与其他事件保持一致而被包含”。
这是init函数。页面的标记与问题无关,因为唯一涉及的标记是滑块内的句柄('a'标签),由jQuery-ui本身创建。
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解决方案。
答案 0 :(得分:1)
也许我错过了什么,但为什么不用text()设置文本?
slider.children('a').text(yearStart);
此innerHTML属性不适用于jQuery包装元素。