[英]If/else statements not functioning
我無法弄清楚為什么if / else語句無法正確執行。 該代碼僅通過if(i === 1)循環運行,僅此而已。 我正在做一個簡單的練習,其中我檢查提交的數字,並查看用戶是變熱還是變冷到預設數字。
<html>
<head>
<title>Test</title>
<script src="jquery-1.11.0.min.js"></script>
<script>
$(document).ready(function () {
var checkNum = Math.floor(Math.random() * 10);
alert("Random number is" + checkNum);
var i = 0;
var scopedVal;
var submitVal;
var hotCheck = function (submitVal) {
if(i === 1) {
alert("try again");
scopedVal = submitVal;
alert("scopedVal is" + scopedVal);
} else {
if(abs(scopedVal - checkNum) > abs(submitVal - checkNum)) {
alert("Hotter");
scopedVal = submitVal;
} else {
alert("colder");
scopedVal = submitVal;
}
}
};
$('.subm').on('click', function () {
i++;
alert(" i is" + i);
alert("button pressed");
submitVal = $(this).closest('#outsideContainer').find('.num').val();
if(submitVal === checkNum) {
alert("You got it");
} else {
hotCheck(submitVal);
}
});
});
</script>
<style>
body {
width: 900px;
color: white;
margin: auto;
}
#outsideContainer {
width: 400px;
color: grey;
margin: auto;
position: relative;
}
</style>
</head>
<body>
<div id="outsideContainer">
<form>
<input type="text" name="text" class="num">
<br/>
</form>
<div id="buttonSubm">
<button class="subm">Submit</button>
<div></div>
</body>
</html>
我假設這是一個簡單的解決方法,並且讓我發瘋。
如果要運行“ else”代碼以及“ if”代碼,請刪除else語句:
var hotCheck = function(submitVal){
if(i===1){
console.log("try again");
scopedVal = submitVal;
console.log("scopedVal is " + scopedVal);
};
if(Math.abs(scopedVal-checkNum)> Math.abs(submitVal - checkNum)){
console.log("Hotter");
scopedVal = submitVal;
} else {
console.log("colder");
scopedVal = submitVal;
};
};
演示: http : //jsfiddle.net/hHC88/
您還需要更改吸收。 到Math.abs
abs()方法不存在。 您正在處理所有整數,因此您可以將其刪除或完全引用Math.abs()
您必須更換
if( abs(scopedVal-checkNum)> abs(submitVal - checkNum)){
至
if( Math.abs(scopedVal-checkNum) > Math.abs(submitVal - checkNum)){
abs()是Math的一種方法。
試試這個
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.