我正在嘗試構建一個HTML5滑塊貸款計算器,它使用Javascript來動態顯示和計算值。使用帶有Javascript事件監聽器的HTML5範圍滑塊
最大的問題是,當談到Javascript時,我是個新手。
所以我有一些代碼,我正在使用顯示3個滑塊來獲得貸款的首付,利率和期限。我已經成功地獲得了滑塊的行爲,但我在計算總數時遇到了很多麻煩。我確實設置了通過簡單地將所有值傳遞給javascript的最後一個塊來計算總數,但它不會動態更新。現在我只是試圖證明我可以獲得一個範圍滑塊的值,以便在其自己的滑塊旁邊動態更新,並在我計劃顯示計算的位置下方進行更新。我嘗試過很多不同的東西,但我無法完成它的工作。
<div class="clearfix" id="finance-calculator"><!-- Begin Finance Calculator -->
<div>Estimate Your Payments</div>
<div id="finance-sale-price">$<?php echo number_format(($sale_price) , 2 , '.' , ',')?></div>
<div class="sale-price-label">Sale Price</div>
<div id="down-block">
<?php
$down_max = ceil($sale_price * 0.9);
$down_init = ceil ($sale_price * 0.2);
echo '<div class="output-label">$<output for="down_slider" id="down">' . $down_init . '</output><p class="value-label">Down Payment</p></div>';
echo '<input type="range" min="0" max="' . $down_max . '" value="' . $down_init . '" id="down-slider" step="1" oninput="outputDown(value)"/>';
?>
<div class="minimum">0%</div>
<div class="maximum">90%</div>
<script>
function outputDown(downVal) {
document.querySelector('#down').value = downVal;
}
</script>
</div>
<div id="rate-block">
<div class="output-label"><output for="rate_slider" id="rate">5.9</output>% APR<p class="value-label">Interest Rate</p></div>
<input type="range" min="0" max="12" value="5.9" id="rate-slider" step="0.1" oninput="outputRate(value)"/>
<div class="minimum">0%</div>
<div class="maximum">12%</div>
<script>
function outputRate(rateVal) {
document.querySelector('#rate').value = rateVal;
}
</script>
</div>
<div id="term-block">
<div class="output-label"><output for="term-slider" id="term">60</output> Months<p class="value-label">Loan Term</p></div>
<input type="range" min="12" max="84" value="60" id="term-slider" step="12" oninput="outputTerm(value)"/>
<div class="minimum">12 months</div>
<div class="maximum">84 months</div>
<script>
function outputTerm(termVal) {
document.querySelector('#term').value = termVal;
}
</script>
</div>
<div id="total-block">
Testing
<script>
var jdown = document.getElementById("down"); // Variable to store dynamic down payment value
jdown.addEventListener('change', function(){document.write (jdown)}, false); // Event listener to update jdown variable when slider above is used. document.write to test.
</script>
Testing
</div>
這方面的一個活生生的例子可以看出?
旁邊的車輛圖像是一些選項卡式的內容。點擊財務標籤,你會看到現在的計算器。
我想盡可能保持簡單,但我只是卡住了。任何幫助將不勝感激。
謝謝 賈裏德
您不需要使用PHP「echo」所有東西。只需使用'?>'關閉PHP標籤並編寫HTML/Javascript /無論如何。如果您需要再次使用PHP,只需再次使用「<?php」打開一個PHP代碼塊即可。 – 2015-03-25 00:49:11
@AlejandroIván完成!我已經刪除了所有不必要的php回顯語句。 – 2015-03-25 01:28:55