我有一个基于预定义值计算价格的函数,我要执行的操作是用if else if语句替换计算,以在继续操作之前检查某个大小是否在两个宽度之间,问题是我收到了尝试执行此操作时出现NaN错误。我是JQuery的新手,所以不确定自己在做什么错?任何想法或帮助将不胜感激,谢谢。
当前功能-
var dayNightM2was = "91.98";
var dayNight2M2was = "139.98";
var dayNight3M2was = "199.98";
var dayNightM2 = "45.99";
var dayNight2M2 = "69.99";
var dayNight3M2 = "99.99";
function calculateAreaMultipleDesktop() {
ga('send', 'event', 'instantPrice', 'gotInstantPrice', 'gotInstantPriceDayNightDesktop');
var width = +document.getElementById("widthD").value;
document.cookie = "blindWidth="+width+"; path=/";
var height = +document.getElementById("heightD").value;
document.cookie = "blindHeight="+height+"; path=/";
if(document.getElementById("MMD").checked) {
if(width < "200"){document.getElementById("sizeCorrectionWidth").innerHTML = "min width 200mm";return false;}
else if (width > "2400"){document.getElementById("sizeCorrectionWidth").innerHTML = "max width 2400mm";return false;}
if(height < "600"){document.getElementById("sizeCorrectionHeight").innerHTML = "min height 600mm";return false;}
else if (height > "3000"){document.getElementById("sizeCorrectionHeight").innerHTML = "max height 3000mm";return false;}
var mmDevidetoM = "1000";
var mmWidth = width / mmDevidetoM;
var mmHeight = height / mmDevidetoM;
var m2 = mmWidth * mmHeight;
var measurmentType = "MM";
document.cookie = "blindMeasurement=mm; path=/";
}
else if(document.getElementById("CMD").checked) {
if(width < "20"){document.getElementById("sizeCorrectionWidth").innerHTML = "min width 20cm";return false;}
else if (width > "240"){document.getElementById("sizeCorrectionWidth").innerHTML = "max width 240cm";return false;}
if(height < "60"){document.getElementById("sizeCorrectionHeight").innerHTML = "min height 60cm";return false;}
else if (height > "300"){document.getElementById("sizeCorrectionHeight").innerHTML = "max height 300cm";return false;}
var cmDevidetoM = "100";
var cmWidth = width / cmDevidetoM;
var cmHeight = height / cmDevidetoM;
var m2 = cmWidth * cmHeight;
var measurmentType = "CM";
document.cookie = "blindMeasurement=cm; path=/";
}
else if(document.getElementById("INCHESD").checked) {
if(width < "7.87402"){document.getElementById("sizeCorrectionWidth").innerHTML = "min width 7.87inches";return false;}
else if (width > "94.48819"){document.getElementById("sizeCorrectionWidth").innerHTML = "max width 94.48inches";return false;}
if(height < "23.622"){document.getElementById("sizeCorrectionHeight").innerHTML = "min height 23.62inches";return false;}
else if (height > "118.1102"){document.getElementById("sizeCorrectionHeight").innerHTML = "max height 118.11inches";return false;}
var inDevidetoM = "39.3701";
var inWidth = width / inDevidetoM;
var inHeight = height / inDevidetoM;
var m2 = inWidth * inHeight;
var measurmentType = "INCHES";
document.cookie = "blindMeasurement=in; path=/";
}
var priceTotal = m2 * dayNightM2;
var priceTotal2 = m2 * dayNight2M2;
var priceTotal3 = m2 * dayNight3M2;
var priceTotalWas = m2 * dayNightM2was;
var priceTotal2was = m2 * dayNight2M2was;
var priceTotal3was = m2 * dayNight3M2was;
var priceTotalMSupply = priceTotal - (priceTotal * 0.2);
var priceTotal2ndTierMSupply = priceTotal2 - (priceTotal2 * 0.2);
var priceTotal3rdTierMSupply = priceTotal3 - (priceTotal3 * 0.2);
var priceTotalWasMSupply = priceTotalWas - (priceTotalWas * 0.2);
var priceTotal2ndTierWasSupply = priceTotal2was - (priceTotal2was * 0.2);
var priceTotal3rdTierWasSupply = priceTotal3was - (priceTotal3was * 0.2);
document.getElementById("priceCheckButtonDesktop").innerHTML = "GET ANOTHER INSTANT PRICE";
document.getElementById("resultMultipleDesktop").style.display = "block";
document.getElementById("widthD").value = "";
document.getElementById("heightD").value = "";
替换功能-
var dayNightM2was = ".002";
var dayNight2M2was = ".004";
var dayNight3M2was = ".006";
var dayNightM2 = ".001";
var dayNight2M2 = ".002";
var dayNight3M2 = ".003";
var price = "";
var score = 0;
function calculateAreaMultipleDesktop() {
score = document.getElementById("widthD").value;
ga('send', 'event', 'instantPrice', 'gotInstantPrice', 'gotInstantPriceDayNightDesktop');
var width = +document.getElementById("widthD").value;
document.cookie = "blindWidth="+width+"; path=/";
var height = +document.getElementById("heightD").value;
document.cookie = "blindHeight="+height+"; path=/";
if(document.getElementById("MMD").checked) {
if ((score >= 500) && (score <= 1000)) {
price = "£10";
} else if ((score >= 1001) && (score <= 1699)) {
price = "£20";
} else if ((score >= 1700) && (score <= 2200)) {
price = "£30";
} else {
price = "Please Input a Valid Number";
}
}
else if(document.getElementById("CMD").checked) {
if(width < "20"){document.getElementById("sizeCorrectionWidth").innerHTML = "min width 20cm";return false;}
else if (width > "240"){document.getElementById("sizeCorrectionWidth").innerHTML = "max width 240cm";return false;}
if(height < "60"){document.getElementById("sizeCorrectionHeight").innerHTML = "min height 60cm";return false;}
else if (height > "300"){document.getElementById("sizeCorrectionHeight").innerHTML = "max height 300cm";return false;}
if ((score >= 500) && (score <= 1000)) {
price = "£40";
} else if ((score >= 1001) && (score <= 1699)) {
price = "£50";
} else if ((score >= 1700) && (score <= 2200)) {
price = "£60";
} else {
price = "Please Input a Valid Number";
}
}
else if(document.getElementById("INCHESD").checked) {
if(width < "7.87402"){document.getElementById("sizeCorrectionWidth").innerHTML = "min width 7.87inches";return false;}
else if (width > "94.48819"){document.getElementById("sizeCorrectionWidth").innerHTML = "max width 94.48inches";return false;}
if(height < "23.622"){document.getElementById("sizeCorrectionHeight").innerHTML = "min height 23.62inches";return false;}
else if (height > "118.1102"){document.getElementById("sizeCorrectionHeight").innerHTML = "max height 118.11inches";return false;}
if ((score >= 500) && (score <= 1000)) {
price = "£70";
} else if ((score >= 1001) && (score <= 1699)) {
price = "£80";
} else if ((score >= 1700) && (score <= 2200)) {
price = "£90";
} else {
price = "Please Input a Valid Number";
}
}
var priceTotal = m2 * dayNightM2;
var priceTotal2 = m2 * dayNight2M2;
var priceTotal3 = m2 * dayNight3M2;
var priceTotalWas = m2 * dayNightM2was;
var priceTotal2was = m2 * dayNight2M2was;
var priceTotal3was = m2 * dayNight3M2was;
var priceTotalMSupply = priceTotal - (priceTotal * 0.2);
var priceTotal2ndTierMSupply = priceTotal2 - (priceTotal2 * 0.2);
var priceTotal3rdTierMSupply = priceTotal3 - (priceTotal3 * 0.2);
var priceTotalWasMSupply = priceTotalWas - (priceTotalWas * 0.2);
var priceTotal2ndTierWasSupply = priceTotal2was - (priceTotal2was * 0.2);
var priceTotal3rdTierWasSupply = priceTotal3was - (priceTotal3was * 0.2);
document.getElementById("priceCheckButtonDesktop").onclick = calculateAreaMultipleDesktop;
document.getElementById("resultMultipleDesktop").style.display = "block";
document.getElementById("widthD").value = "";
document.getElementById("heightD").value = "";
HTML-
<span id="resultMultipleDesktop"></span>
<div class="radioButtonsCalcDesktop">
<input type="radio" id="CMD" name="calc" value="CM" checked> cm
<input type="radio" id="MMD" name="calc" value="MM"> mm
<input type="radio" id="INCHESD" name="calc" value="INCHES"> inch
</div>
<input type="tel" class="field-medium" id="widthD" name="width" size="4" placeholder="WINDOW WIDTH">
<span class="vc_col-sm-3 alignBottom">
<button id="priceCheckButtonDesktop" class="lowerPriceCheckButton"
onclick="calculateAreaMultipleDesktop()" >GET INSTANT PRICE</button>
</span>