Jquery Slider:如何实现最小和最大图标?

时间:2012-08-06 14:20:37

标签: jquery user-interface jquery-ui-slider

请任何人可以帮助我使用jquery Slider系列? 我是jQuery的新手,并尝试在左/右拖动范围内实现min(右箭头图标)和max(左箭头图标)。

价格范围:0 - 1000 ==的(大于) ======的(小于) ===

我想用右箭头和左箭头替换这些带有我个人图像的图标。有可能吗?

我还附上了图片。

$(function() {
    var values = [0,25,50,100,200,400,700,1000];
    $( "#slider-range" ).slider({
        range: true,
        min: 0,
        max: 1000,
        step:50,
        orientation: "horizontal",
        values: [ 0,1000 ],
        slide: function( event, ui ) {
            $( "#amount" ).val( "£" + ui.values[ 0 ] + " - £" + ui.values[ 1 ] );
            console.log("From: "+ui.values[0],"To: "+ui.values[1]);
            $( "#min" ).val( ui.values[ 0 ] );
    $( "#max" ).val( ui.values[ 1 ] );
        }
    });
    $( "#amount" )
    .val( "£" + $( "#slider-range" )
    .slider( "values", 0 ) + " - £" + $( "#slider-range" )
    .slider( "values", 1 ));
});
$( "#slider-range a").hide();

2 个答案:

答案 0 :(得分:1)

快速查看标记后,jQuery-UI似乎无法区分2个滑块。这不是一个大问题;在构建滑块时我建议您做什么,相应地向min-value添加max-valueui-slider-handle。这样的事情可以解决问题:

$('#slider-range').slider({
     range: true,
     min: 0,
     max: 1000,
     step:50,
     orientation: "horizontal",
     values: [ 0,1000 ],
     slide: function(event, ui) {
          $('#amount').val( "£" + ui.values[ 0 ] + " - £" + ui.values[ 1 ] );
          $('#min').val( ui.values[ 0 ] );
          $('#max').val( ui.values[ 1 ] );
     }
}).find('.ui-slider-handle')
     .eq(0).addClass('min-slider').end()
     .eq(1).addClass('max-slider');

有了这些类,您就可以设置CSS来定位它们并根据需要操纵它们的外观。 :)

答案 1 :(得分:0)

滑块手柄可以由类ui-slider-handle标识。您可以尝试在使用CSS的人身上添加background-image

#my-slider .ui-slider-handle { background-image: url(min.png); }

您可能需要设置其他background-*属性才能使事情正常运行。

在第二个滑块上放置一个不同的背景图像(在HTML中的第一个滑块之后),留作海报的练习。