![](/img/trans.png)
[英]javascript- if/else, for statements inside a switch statement
[英]Javascript if - else if inside switch using (“#id”).length
代碼已編輯。 對於第一份代碼不完整,我深表歉意,我收到了來自用戶輸入的代碼,並附加了與該輸入匹配的圖像。 我想做的是設置其他按鈕(大約200個)以在按下其他按鈕時附加不同的圖像。 我正在這樣做的方法是在第一個開關的情況下,以(“ #id”)。length條件為目標。 這是我的代碼的簡短示例:
HTML:
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://code.jquery.com/jquery-3.1.1.js"></script>
</head>
<body>
<section id="section">
<input id="input">
<button id="1"></button>
<button id="2"></button>
</section>
<div id="div"></div>
</body>
</html>
使用Javascript:
$(document).ready(function() {
var str;
$("#1, #2").click(function () { test(); });
});
var input = ['a','b','c'];
function test() {
var interval = setInterval(match, 1);
$("div").html("");
str = $("input").val().toLowerCase();
var i = 0;
function match() {
var imgs = ["<img src='https://1.bp.blogspot.com/-v2N2hPY33pc/V488gHu5aWI/AAAAAAAAHFM/loGVDK5OlGcft5UUz8-AHZjAd3E7OlZjACLcB/s1600/colorful-background-with-waves.jpg' alt='0'>",
"<img src='https://upload.wikimedia.org/wikipedia/commons/c/c8/Widget_icon.png' alt='1'>"];
if (i < str.length) {
switch (str[i]) {
case input[0]:
if ($("#1").length){
$("div").append(imgs[0]);
i++;
break;
}else if ($("#2").length){
$("div").append(imgs[1]);
i++;
break;
}
}
else {
clearInterval(interval);
$("input").val("");
}
}
}
現在,我設法使if起作用,它會顯示圖像,但是如果按第二個按鈕,則else(如果不起作用)。 我究竟做錯了什么?
好吧,我一生無法弄清楚您要如何使用此代碼,但這是它的有效版本...
$(document).ready(function() { var str; $("#1, #2").click(function () { test(this); }); }); var input = ['a','b','c']; function test(caller) { var interval = setInterval(match, 1); var i = 0; $("div").html(""); str = $("input").val().toLowerCase(); function match() { var imgs = ["<img src='https://1.bp.blogspot.com/-v2N2hPY33pc/V488gHu5aWI/AAAAAAAAHFM/loGVDK5OlGcft5UUz8-AHZjAd3E7OlZjACLcB/s1600/colorful-background-with-waves.jpg' alt='0'>","<img src='https://upload.wikimedia.org/wikipedia/commons/c/c8/Widget_icon.png' alt='1'>","<img src='https://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Mona_Lisa%2C_by_Leonardo_da_Vinci%2C_from_C2RMF_retouched.jpg/100px-Mona_Lisa%2C_by_Leonardo_da_Vinci%2C_from_C2RMF_retouched.jpg' alt='2'/>","<img src='https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Corythucha_ciliata.jpg/120px-Corythucha_ciliata.jpg' alt='3'/>"]; if (i < str.length) { switch (str[i]) { case input[0]: if (caller.id == "1") { $("div").append(imgs[0]); i++; break; } else if (caller.id == "2") { $("div").append(imgs[1]); i++; break; } case input[1]: if (caller.id == "1") { $("div").append(imgs[2]); i++; break; } else if (caller.id == "2") { $("div").append(imgs[3]); i++; break; } } } else { clearInterval(interval); $("input").val(""); } } }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input id="input"/> <button id="1">1</button> <button id="2">2</button> <div></div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.