Здравствуйте, не могу понять по чему не отрабатывает до конца событие onchange
var pricePerThs = new Array();
pricePerThs["BTC"] = 0.05641;
pricePerThs["USD"] = 340;
pricePerThs["EUR"] = 292;
var minPower = 100,
maxPower = 10000000,
coficent_hardcore = "20",
maintenanceUSD = "0.00031";;
maintenanceCUR = "0.031";
//maintenanceBTC = 0.00000856;
currencyRateUSD = "8267.3513";
currencyPower = "1364422081125";
//calcModel.rate это Изменить цену
//calcModel.difficulty Изменить сложность*
//calcModel.power Мощность
function abc(n) {
return (n + "").split("").reverse().join("").replace(/(\d{3})/g, "$1 ").split("").reverse().join("").replace(/^ /, "");
}
var calcModel = {
power: undefined,
difficulty: undefined,
rate: undefined
};
function updateModel() {
// power
var value = parseInt( $("[name='bc-power']").val() );
value = isNaN(value) ? minPower : value;
if (value < minPower) {
value = minPower;
}
else {
value = parseInt(value / minPower) * minPower;
}
value = Math.max(Math.min(maxPower, value), minPower);
calcModel.power = value;
// difficulty
value = parseFloat( $("[name='bc-difficulty']").val() );
value = isNaN(value) ? 10 : value;
value = Math.max(Math.min(500, value), -99);
calcModel.difficulty = value;
// rate
value = parseFloat( $("[name='bc-rate']").val() );
value = isNaN(value) ? 10 : value;
value = Math.max(Math.min(1000, value), -99.99);
calcModel.rate = value;
}
updateModel();
function updateInfo() {
$('.j_bc-cost-label').each(function(){
var curr = $(this).attr('currency'),
cost = pricePerThs[curr];
$(this).toggleClass('hidden', !cost).text(curr + ' ' + formatCurrency(pricePerThs[curr] * calcModel.power / 1000, curr));
});
$('.USD').text("26.00" * (calcModel.power / 100).toFixed(2) + ' USD');
$('.EUR').text(("22" * (calcModel.power / 100)).toFixed(2) + ' EUR');
$('.BTC').text(("0.003145" * (calcModel.power / 100 )).toFixed(6) + ' BTC');
$('.j_maintenance').text(formatCurrency(maintenanceUSD * calcModel.power, 'USD', 4));
}
updateInfo();
$("[name='bc-power']").on('mouseover', function(){
updateModel();
updateInfo();
$(this).val(calcModel.power + ' GH/s');
});
$("[name='bc-difficulty']").on('mouseover', function(){
updateModel();
var prefix = calcModel.difficulty > 0 ? '+' : '';
$(this).val(prefix + calcModel.difficulty.toFixed(2) + '%');
});
$("[name='bc-rate']").on('mouseover', function(){
updateModel();
var prefix = calcModel.rate > 0 ? '+' : '';
$(this).val(prefix + calcModel.rate.toFixed(2) + '%');
});
$('.bc-input-step').on('click', function(){
var step = parseInt($(this).attr('step')) || 0,
$input = $(this).closest('.bc-input-wrapper').find('.bc-input');
updateModel();
updateInfo();
$input.val(parseFloat($input.val()) + step ).change();
});
<div class="col-md-2 col-md-offset-1">
<label>Мощность</label>
<div class="bc-input-wrapper">
<input name="bc-power" class="bc-input power" value="100 GH/s"/>
<div class="bc-input-steps">
<div class="bc-input-step bc-input-step-up" step="100"></div>
<div class="bc-input-step bc-input-step-down" step="-100"></div>
</div>
</div>
суть кода простая, при любых изменениях name="bc-power" должно автоматический дописываться "GH/s", также и при нажатии кнопки step="100"