3 回答

TA貢獻1831條經驗 獲得超4個贊
你只需要一些小的改變。
var slider = document.getElementById("myRange");
var output = document.getElementById("demo");
var inputItem = document.getElementById("outputPounds");
output.innerHTML = slider.value;
weightConverter(slider.value);
slider.oninput = function() {
output.innerHTML = this.value;
weightConverter(slider.value);
}
function weightConverter(valNum) {
inputItem.value=valNum*2.2046;
}
<input type="range" min="1" max="200" name="ans" class="slider"
id="myRange">
<p class="agecls">Weight:<span id="demo" style="text-decoration:underline"
oninput="weightConverter(this.value)"
onchange="weightConverter(this.value)"></span></p>
<p>Pounds: <input type="text" value="0" id="outputPounds"></p>

TA貢獻1877條經驗 獲得超1個贊
您的整個代碼可以簡化為一個函數,該函數讀取輸入值并更新要以公制或英制系統顯示值的兩個位置中的每一個。
將所有內容放在一個函數中使您可以將此函數的執行綁定到兩個事件:
a) on window.onloadevent(因此在頁面加載時完成轉換和顯示);
b)在input.oninput事件上,所以當你滑動時它們也完成了。請注意,change事件僅在您釋放滑塊時input觸發,而在檢測到滑塊值輸入時觸發事件,而與輸入方法(鍵盤、鼠標、觸摸等)無關。
工作示例:
const updateValues = function() {
let inputValue = document.querySelector('#myRange').value;
document.querySelector('#outputKg').innerHTML = inputValue;
document.querySelector('#outputLbs').innerHTML = Math.round(inputValue * 220.462262) / 100;
}
window.onload = updateValues;
document.querySelector('#myRange').oninput = updateValues;
<input type="range" min="1" max="200" name="ans" class="slider" id="myRange">
<p>Weight: <span id="outputKg"></span></p>
<p>Pounds: <span id="outputLbs"></span></p>

TA貢獻1786條經驗 獲得超11個贊
請通過此更新代碼
<input type="range" min="1" max="200" name="ans" class="slider" id="myRange">
<p class="agecls">Weight:<span id="demo" style="text-decoration:underline"></span></p>
<p>Pounds: <span id="outputPounds"></span></p>
<script type="text/javascript">
var slider = document.getElementById("myRange");
var output = document.getElementById("demo");
output.innerHTML = slider.value;
weightConverter(slider.value)
slider.oninput = function() {
output.innerHTML = this.value;
weightConverter(this.value)
}
function weightConverter(valNum) {
document.getElementById("outputPounds").innerHTML=valNum*2.2046;
}
</script>
添加回答
舉報