滑块移动时更改文本

时间:2012-03-26 21:23:35

标签: jquery jquery-ui

 $(function() {
    $( ".sli3" ).slider({
        range: "min",
        value: 50,
        min: 0,
        max: 100,
        slide: function( event, ui ) {
            $( ".sli3_f" ).text($(this).val(  ui.value+"%" ));
        }
    });
    $( ".sli3_f" ).text($(this).val($( ".sli3" ).slider( "value" )+"%" ));
});


 <div class="sli3"><span class="sli3_f"></span></div>

我想在滑块移动时更改文字 浏览器没有任何反应。 有什么想法吗?

2 个答案:

答案 0 :(得分:2)

你有几个错误。首先,您不想使用$(this).val(...)。这只是设置$(this)的值,在这种情况下,这不是您想要做的。您只想检索由ui.value在滑块对象的方法中提供的值。在滑块的方法之外,您只需要$(".sli3").slider("value")

$(function() {
    $(".sli3").slider({
        range: "min",
        value: 50,
        min: 0,
        max: 100,
        slide: function(event, ui) {
            $(".sli3_f").text(ui.value + "%");
        }
    });

    $(".sli3_f").text($(".sli3").slider("value") + "%");
});

演示:http://jsfiddle.net/XjD4K/

答案 1 :(得分:1)

我不相信$ this.val()是必要的

 $(function() {
    $( ".sli3" ).slider({
        range: "min",
        value: 50,
        min: 0,
        max: 100,
        slide: function( event, ui ) {
            $( ".sli3_f" ).text(ui.value+"%");
        }
    });
    $( ".sli3_f" ).text($( ".sli3" ).slider( "value" )+"%");
});


 <div class="sli3"><span class="sli3_f"></span></div>