2016-10-27 7 views
6

HTML5にスライドバーを表示するには、範囲入力を使用することができます。すなわちHTML5の範囲入力の方向を逆にするにはどうすればよいですか?

<input type="range" min="0" max='5' value="0" step="1" > 

デフォルトの動作では、左側に最小値、右側に最大値があります。代わりに左側に最大値を置く方法はありますか?

私はJavascriptでそれを行うことができます。 HTMLだけでそれを行う方法はありますか?


"が重複する可能性の問題" への返信:JavaScriptのソリューションを受け入れる疑問

、と私はHTMLのみのソリューションを求めています。私はそれが重複ではないことは明らかだと思いますか?

PSのJavaScript/jQueryのコードのみです:以下

#reversedRange { 
    direction: rtl 
} 

を参照してくださいサンプルコードCSSに左に右にする入力の方向を設定:

+0

[正から負へHTML5の入力タイプレンジ(http://stackoverflow.com/questions/27794439/html5-input-type-range-の可能な重複from-positive-to-negative) – Brad

+0

これは受け入れられた答えではありませんが、ここにはCSSの解決策があります:http://stackoverflow.com/a/27794806/362536 – Brad

答えて

9

これはトリックを行う可能性があります値が変化していることを示すために必要ではありません。 input要素

更新のCSSとid属性のみ:は@ MCTaylor17のコメントに基づいて(感謝)

$(function() { 
 
    $("#rangeValue").text($("#reversedRange").val()); 
 
    
 
    $("#reversedRange").on('change input', function() { 
 
    $("#rangeValue").text($(this).val()); 
 
    }); 
 
});
#reversedRange { 
 
    direction: rtl 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
Max<input type="range" min="0" max='5' value="0" step="1" id="reversedRange">Min 
 
<div>value: <span id="rangeValue"></span> 
 
</div>

+3

'direction:rtl'プロパティにはいいです。純粋なHTMLではなく、少なくともそれらのJavaScriptソリューションよりもはるかに優れています。少なくとも、インラインスタイルにするには十分短いです。 – cytsunny

+1

素敵なトリック。 FYI、イベントに "input"を追加すると(例えば '.on(" change input "))、リアルタイムで更新されます。 – MCTaylor17

+0

@ MCTaylor17 @ – ochi

2

は、これは単にCSSをどうされており、純粋なJavaScript。このスニペットがあなたを助けてくれることを願っています。

CSS & HTML

input{ 
 
    -webkit-transform: rotateY(180deg); 
 
    -moz-transform: rotateY(180deg); 
 
    -ms-transform: rotateY(180deg); 
 
    -o-transform: rotateY(180deg); 
 
    transform: rotateY(180deg); 
 
}
Max<input type="range" min="0" max='5' value="0" step="1" onmousemove="document.getElementById('Range_Value').innerHTML=this.value">Min 
 

 
<h3>Value: <span id="Range_Value">0</span></h3>

関連する問題