jquery UIスライダを使用して複数のスライドバーを作成しようとしています。問題は、最後のバーの値の変更だけです。 他のスライドバー値のスライドが最後のバーでのみ変化した場合。 Fiddle linkjQuery UI Slider - ページ内に複数のスライダを使用する方法
function collision($div1, $div2) {
var x1 = $div1.offset().left;
var w1 = 40;
var r1 = x1 + w1;
var x2 = $div2.offset().left;
var w2 = 40;
var r2 = x2 + w2;
if (r1 < x2 || x1 > r2) return false;
return true;
}
// // slider call
var search_type = ['id1','id2','id3','id4'];
for(var i = 0; i<search_type.length; i++){
var ids = '#' + search_type[i] + '-range';
var $this = '#'+search_type[i]+'-c';
console.log($this);
console.log(ids);
$(ids).slider({
\t range: true,
\t min: 0,
\t max: 500,
\t values: [ 75, 300 ],
\t slide: function(event, ui) {
\t \t
\t \t $(ids +' .ui-slider-handle:eq(0) .price-range-min').html(ui.values[ 0 ]);
\t \t $(ids +' .ui-slider-handle:eq(1) .price-range-max').html(ui.values[ 1 ]);
\t \t $(ids +' .price-range-both').html('<i>' + ui.values[ 0 ] + ' - </i>' + ui.values[ 1 ]);
\t \t console.log(ids +' .ui-slider-handle:eq(1) .price-range-max');
\t \t //
\t \t
if (ui.values[0] == ui.values[1]) {
$(ids+' .price-range-both i').css('display', 'none');
} else {
$(ids+' .price-range-both i').css('display', 'inline');
}
//
\t \t
\t \t if (collision($('.price-range-min'), $('.price-range-max')) == true) {
\t \t \t $(ids +' .price-range-min,'+ ids+ ' .price-range-max').css('opacity', '0'); \t
\t \t \t $(ids +' .price-range-both').css('display', 'block'); \t \t
\t \t } else {
\t \t \t $(ids +' .price-range-min,'+ ids+ ' .price-range-max').css('opacity', '1'); \t
\t \t \t $(ids +' .price-range-both').css('display', 'none'); \t \t
\t \t }
\t \t
\t }
});
$(ids +' .ui-slider-range').append('<span class="price-range-both value"><i>' + $(ids).slider('values', 0) + ' - </i>' + $(ids).slider('values', 1) + '</span>');
$(ids +' .ui-slider-handle:eq(0)').append('<span class="price-range-min value">' + $(ids).slider('values', 0) + '</span>');
$(ids +' .ui-slider-handle:eq(1)').append('<span class="price-range-max value">' + $(ids).slider('values', 1) + '</span>');
}
<br>
\t <input type="textbox" id="id1-min">
\t <input type="textbox" id="id1-max">
\t <p> </p>
\t <div id="id1-range"></div>
<p> </p>
\t <input type="textbox" id="id2-min">
\t <input type="textbox" id="id2-max">
\t <p> </p>
\t <div id="id2-range" data-max="800"></div>
<p> </p>
\t <input type="textbox" id="id3-min">
\t <input type="textbox" id="id3-max">
\t <p> </p>
\t <div id="id3-range" data-max="800"></div>
\t <p> </p>
\t <input type="textbox" id="id4-min">
\t <input type="textbox" id="id4-max">
\t <p> </p>
\t <div id="id4-range" data-max="800"></div>
を、そこに何らかのエラーがありますか? –