2015-01-06 40 views
7

有什麼辦法可以允許正的最小值和負的最大值?我正在嘗試在日誌空間(10^8-10-13)中創建滑塊,並希望在滑塊上顯示指數。HTML5輸入類型的範圍從正到負

<input type="range" min="8" max='-13' value="1" step="-1" id="myRange" > 

該值目前恢復爲默認值max=100的值。

或者我可以以某種方式反轉滑塊嗎?任何幫助將非常感激。

編輯:請記住我希望從8到13(日誌空間10^8-10^-13)的縮放比例降低。編輯:在IDL xr = [8,-13](或R xlim = c(8,-13))。請注意,最小值是正值,最大值是負值,您可以相應地在兩者之間切入。我正在尋求解決方法的幫助以創建與輸入類型範圍相同的行爲。

+5

你能告訴我們一些是大於8並小於-13?你應該交換最小值最大值來完成這項工作。 –

+0

洛爾茲傢伙-13小於8你應該把'min =' - 13''和'max ='8'' – madforstrength

+0

也許我不清楚。我希望比例從8開始下降到-13 – Liz

回答

4

你可以簡單地通過-1切換的限制和多重價值:

<input type="range" min="-8" max='13' value="1" step="-1" id="slider" > 

$('#slider').change(function(){ 
    var val = -+($(this).val()); 
    console.log(val); 
}); 

如果你需要提交的價值,將其複製到一個隱藏字段,並使用該在服務器端而不是原來的。

A live demo at jsFiddle

0

您已經添加了不符合邏輯的條件。您需要交換的最小和最大價值,使滑塊工作:

<input type="range" min="-13" max='8' value="1" step="1" id="myRange" > 

Working Demo

+0

我希望規模從8降低到-13(最小=規模的左側)。問題是任何人都可以提出解決方法。 step = -1似乎沒有幫助(它遞增絕對步長值) – Liz

4

此滑塊將得到扭轉:分鐘(左)是8和MAX(右)爲-13,我認爲這是你想要的...... step = -1不起作用。

HTML:

<input type="range" min="-13" max="8" value="1" step="1" id="range"/> 

CSS:

#range{ 
    transform: rotateY(180deg); 
} 

THX CSS!

+0

謝謝皮埃爾!對我來說很好,這簡直太奇妙了!我會在網站的其他部分進行遊戲,並在接受之前查看它是否合適。 – Liz

+0

如果沒有在許多瀏覽器/版本中進行徹底測試,我不想依賴這一點。某處肯定會有問題。 –

+0

如果您正在尋找兼容性,即支持它,因爲它支持滑塊輸入,因爲ie9前綴和ie10通用:[w3schools.com/cssref/css3_pr_transform.asp](http://www.w3schools.com/cssref/css3_pr_transform .asp) –

0

我認爲沒有辦法允許一個正的最小值和一個負的最大值,但是對於給定的情況,我們可以使用min = -8和max = 13,並且在變化時我們會將一個範圍值的負值賦給一個變量。例如,

<script> 
var exponent=1; 
</script> 
<input type="range" min="-8" max='13' value="-1" step="1" id="myRange" onchange="document.exponent = - this.value;"> 
1

使用step = 1將滑塊從0縮放到21。

在更改處理程序中,計算8 - $(this).val()以提供您實際需要的縮放比例。

HTML

<input type="range" min="0" max='21' value="7" step="1" id="myRange"> 

的Javascript

$('#myRange').change(function() { 
    var scaledValue = 8 - $(this).val(); 
    console.log(scaledValue); 
}); 

DEMO