ここにテストコード全体があります。
最終的には、異なるID(パターンなし)を持つ多数のスライダと入力フィールドがありますので、繰り返しコードを使用するのではなく、$ thisまたはvarsを使用します。
スライダーの3最大値があります:5、10、15
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="css/jquery-ui.css" type="text/css" media="all" />
<script src="js/jquery.min.js" type="text/javascript"></script>
<script src="js/jquery-ui.min.js" type="text/javascript"></script>
<script src="js/jquery.ui.touch-punch.min.js"></script>
<script>
$(function() {
$("#slider1").slider({
value:0, min: 0, max: 5, step: 1,
slide: function(event, ui) {
$("#amount1").val(ui.value);
}
});
$("#amount1").val($("#slider1").slider("value"));
$("#slider2").slider({
value:0, min: 0, max: 10, step: 1,
slide: function(event, ui) {
$("#amount2").val(ui.value);
}
});
$("#amount2").val($("#slider2").slider("value"));
$("#slider3").slider({
value:0, min: 0, max: 15, step: 1,
slide: function(event, ui) {
$("#amount3").val(ui.value);
}
});
$("#amount3").val($("#slider3").slider("value"));
});
</script>
<style>
.steps {
border: 1px solid transparent;
position: relative;
height: 30px;
}
.tick {
border: 1px solid transparent;
position: absolute;
width: 1.2em;
margin-left: -.6em;
text-align:center;
left: 0;
}
.ui-slider .ui-slider-handle {
width: 2em;
height: 3em;
top: -1.4em;
margin-left: -1em;
}
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
border: 2px solid #d3d3d3;
background: #333;
}
</style>
</head>
<body style="font-size: small;">
<div style="display:block;margin:100px auto;padding:0 8%">
<input type="text" id="amount1" style="border:0 none">
<div id="slider1"></div>
<div class="steps">
<?php
for ($i=0, $t=5; $i<=$t; $i++) {
echo '<span class="tick" style="left:'.(100/$t*$i).'%;';
if ($i==ceil($t/2)) echo 'font-weight:bold;font-size:medium;';
echo '">|<br>'.$i.'</span>';
}
?>
</div>
</div>
<div style="display:block;margin:100px auto;padding:0 8%">
<input type="text" id="amount2" style="border:0 none">
<div id="slider2"></div>
<div class="steps">
<?php
for ($i=0, $t=10; $i<=$t; $i++) {
echo '<span class="tick" style="left:'.(100/$t*$i).'%;';
if ($i==ceil($t/2)) echo 'font-weight:bold;font-size:medium;';
echo '">|<br>'.$i.'</span>';
}
?>
</div>
</div>
<div style="display:block;margin:100px auto;padding:0 8%">
<input type="text" id="amount3" style="border:0 none">
<div id="slider3"></div>
<div class="steps">
<?php
for ($i=0, $t=15; $i<=$t ; $i++) {
echo '<span class="tick" style="left:'.(100/$t*$i).'%;';
if ($i==ceil($t/2)) echo 'font-weight:bold;font-size:medium;';
echo '">|<br>'.$i.'</span>';
}
?>
</div>
</div>
</body>
</html>
それは近いです!最後のスライダが動いたときに最後の入力フィールドを更新するだけです。 slider2が最後になったときに、slider3と同じ結果を削除しました。最後のスライダー入力のみが更新されます。 –
最新のコードを使用していますか?私は自分の投稿をたくさん編集しました。そして、最後の編集は 'slide'関数を使って正確に行う必要がありました。 – Eihwaz
SWEET!あなたが変化に取り組んでいる間、私はあなたの答えをコピーしたに違いないようです。これは素晴らしい作品です。 –