2016-10-27 6 views
0

мне нужно сделать слайдер выглядеть следующим образом:Стиль слайдер JQuery UI, как этот

Slider design

Как вы можете видеть, есть предел (темная линия) в полную мощность (световой линии).

У меня есть этот код до сих пор:

<p> 
    <label for="amount">Amount:</label> 
    <input type="text" id="amount" readonly style="border:0; color:#f6931f; font-weight:bold;"> 
</p> 

<div id="slider"></div> 

var myMax = 500; 
$("#slider").slider({ 
    range: "min", 
    value: 300, 
    min: 1, 
    max: 2000, 
    create: function(event, ui) { 
     $("#amount").val(ui.value); 
    }, 
    slide: function(event, ui) { 
     if(ui.value > myMax) { 
      return false; 
      ui.value = myMax; 
     } 
     $("#amount").val(ui.value); 
    } 
}); 

JSFIDDLE: https://jsfiddle.net/jimmyadaro/vp00n013/

Возможно ли это сделать?

+0

Почему бы не сделать это возможным? Ползунок построен с помощью HTML и CSS, просто нарисуйте его как бы любой другой элемент. –

+0

@ jacob-gray. Я спрашиваю, можно ли сделать эту лимитированную линию (темную) в слайдере. –

ответ

0

Хотя я уверен, что для этого есть другие плагины jQuery, вот вам быстрый взломать ваш код.

Во-первых, создать еще один <div> в пределах вашего слайдера:

<div id="slider"> 
     <div id="limit"></div> 
    </div> 

Далее, у JS вычислить процент myMax, и использовать немного Jquery, чтобы установить ширину #limit на соответствующий процент.

var myMax = 500; 
var max = 2000; 
var limit = $("#limit"); 
limit.css("width", (myMax/max)*100+"%") 

Наконец, стиль #limit, например:

#slider { 
position: relative; 
} 
#limit { 
position: absolute; 
height: 100%; 
background: #afb1b2; 
} 

Вот JSFiddle демонстрируя хак.

+0

Полностью выглядит так, как мне нужно. Я собираюсь надеть стили, я вернусь. –

+0

Удачи! Дайте мне знать, как это работает! – Mendy

Смежные вопросы