2015-02-06 14 views

Odpowiedz

8

Zrobiłem coś podobnego. Oto powiązane segmenty kodu css i javascript, aby to osiągnąć. powiedzmy chcę lewa strona zielony, żółty i mid prawej stronie czerwony, potem

CSS

.irs-line-left { 
    background: #66b032; 
    width: 60%; 
} 

.irs-line-mid { 
    background: #FFBF00; 
} 

.irs-line-mid:before { 
    content: ''; 
    background-color: #FF0000; 
    position: absolute; 
    left: 54%; 
    top: 0; 
    right: 0; 
    bottom: 0; 
} 

.budget-page .irs-line-right { 
    background: #FF0000; 
    width: 40%; 
} 

.budget-page .irs-line-mid { 
    width: 0 !important; 
} 

.irs-bar { 
    background: #FFBF00; 
} 

Teraz tutaj jest trick. Po zmianie dwóch punktów musimy zmienić szerokość lewej i prawej strony, aby dynamicznie zmienić szerokość koloru.

Sekcja JavaScript.

var iri_line_left = $(".irs-line-left"); 
var iri_line_right = $(".irs-line-right"); 

$("#color-slider").ionRangeSlider({ 
     type: "double", 
     min: 0, 
     max: 100, 
     from: 60, 
     to: 80, 
     grid: true, 
     onChange: function (data) { 
      var leftWidth = Math.ceil(data.from_percent); 
      var rightWidth = 100 - leftWidth; 

      // set left side width 
      iri_line_left.css({ 'width': leftWidth + "%" }); 

      // set right side width 
      iri_line_right.css({ 'width': rightWidth + "%" }); 

     } 
    }); 

Mam nadzieję, że to ci pomoże.

+0

Świetne poprawki do tej wtyczki! Należy pamiętać, że należy również sprawdzić, czy jest to ponownie sprawdzane po zmianie rozmiaru okna, lub inaczej ustawione szerokości nie są proporcjonalne do szerokości dokumentu/korpusu dla płynnych/responsywnych projektów. –

2

może być dobrze

.irs-line { 
// needs latest Compass, add '@import "compass"' to your scss 
@include background-image(linear-gradient(left, #32ff6c 0%,#28ff57 33%,#207cca 33%,#2989d8 66%,#ff3030 66%,#ff0000 100%)); 
}