Есть готовый калькулятор. Как сделать так, что при загрузке страницы, он сразу срабатывал и показывал значение? Сейчас он срабатывает только если его начать двигать(слайдер)
function calc(tb){
var v = document.getElementById("val") ;
var r = document.getElementById("result");
v.innerHTML = tb.value;
r.innerHTML = tb.value*2300*0.27;
}
<input type="range" min="0" max="100" id="track" onchange="calc(this);"/>
<div>Значение <span id="val"></span></div>
<div>Стоимость <span id="result"></span></div>
У вас ошибка была не var v = document.getElementById("ex8") ;
а var v = document.getElementById("val");
$(document).ready(function () {
$("#ex8").slider({
formatter: function(value) {
calc(value);
},
value: 50,
min: 1,
max: 100,
tooltip: 'always'// Slider will instantiate showing 8.12 due to specified precision
});
});
function calc(value){
var v = document.getElementById("val");
var r = document.getElementById("result");
v.innerHTML = value;
r.innerHTML = Math.ceil(value*2300*0.27);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-slider/10.0.2/css/bootstrap-slider.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-slider/10.0.2/bootstrap-slider.js"></script>
<input id="ex8" data-slider-id='ex1Slider' type="text" data-slider-min="0" data-slider-max="100" data-slider-step="1" data-slider-value="14"/>
<div>Значение <span id="val"></span></div>
<div>Стоимость <span id="result"></span></div>
Просто запустите функцию со значением
function calc(tb){
var v = document.getElementById("val") ;
var r = document.getElementById("result");
v.innerHTML = tb.value;
r.innerHTML = tb.value*2300*0.27;
}
calc(document.getElementById("track"));
<input type="range" min="0" max="100" id="track" onchange="calc(this);"/>
<div>Значение <span id="val"></span></div>
<div>Стоимость <span id="result"></span></div>
Вот решение со слайдером Bootstrap
var slider = new Slider('#ex1', {
formatter: function(value) {
calc(value);
}
});
function calc(value){
var v = document.getElementById("val") ;
var r = document.getElementById("result");
v.innerHTML = value;
r.innerHTML = value*2300*0.27;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-slider/10.0.2/css/bootstrap-slider.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-slider/10.0.2/bootstrap-slider.js"></script>
<input id="ex1" data-slider-id='ex1Slider' type="text" data-slider-min="0" data-slider-max="100" data-slider-step="1" data-slider-value="14"/>
<div>Значение <span id="val"></span></div>
<div>Стоимость <span id="result"></span></div>
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости