偶数/奇数条件チェックによって機能し、各実行後に指定されたパラメーターをインクリメントすることによって継続する、再帰関数を使用した ID 変更によって点滅するボディの背景色を変更しようとしています。DOM レベル ゼロ イベント ハンドラのオンクリックを使用して、この関数を実行しています。奇妙な結果が表示されます。
これは、javascript コードを含む html/css です。また、コードに追加されたコメントも参照してください。これは、他の奇妙な問題を説明しています。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style>
#style1 {
background:red;
}
#style2 {
background:black;
}
</style>
</head>
<body>
<input name="" type="button" value="Style Changer" id="button1" />
<script>
var button = document.getElementById("button1");
var background = function (y) {
alert(y); // results of background change or rest of the code only works if this alert is there which is what I don't really understand
if(y % 2 === 0) {
alert(y); // weird result: this shows 2 for no reason.
document.body.id = "style1"; // value supplied to the parameter y is 1 but taking the css property that suppose to take when the y is an even number.
var y = y + 1;
background(y);
} // End If
else {
document.body.id = "style2";
var y = y + 1;
background(y);
} //End Else
} // End of function
button.onclick = function () {
var x = 1;
background(x);
}
// Another big problem: Last but not least remove all the alert function and it will not work as it worked when there were alerts in the code.
</script>
</body>