我正在制作一个简单的 HTML5 和 Javascript 拖放游戏,用户应将 div 内的图像拖放到空 div 中。
拖放工作正常,并且我已成功编写 JavaScript 代码,以便在将 #answer1
拖入正确的 div #target
时发出警报
但是,当我复制 if 语句时,它会警告正确,但也会警告不正确,我怀疑这是紧随其后运行的第二个 if 语句。
有什么方法可以对语句进行排序,以便它仅在拖动图像时运行,而不是运行所有 if 语句?
function allowDrop(ev){
ev.preventDefault();
}
function drag(ev){
ev.dataTransfer.setData("content", ev.target.id);
}
function drop(ev){
ev.preventDefault();
var image = ev.dataTransfer.getData("content");
ev.target.appendChild(document.getElementById(image));
if($('#target1').find('#answer1').length == 1)
{
alert("CORRECT!");
} else {
alert("Wrong!");
}
if($('#target2').find('#answer2').length == 1)
{
alert("CORRECT!");
} else {
alert("Wrong!");
}
}
JSFiddle 完整网页:
最佳答案
正如 Ghillied 在评论中所说,这将是更好的做法:
function drop(ev){
ev.preventDefault();
var image = ev.dataTransfer.getData("content");
ev.target.appendChild(document.getElementById(image));
alert(checkDrop());
}
function checkDrop() {
if($('#target1').find('#answer1').length == 1){
return "CORRECT!";
}
else if($('#target2').find('#answer2').length == 1) {
return "CORRECT!";
}
else {
return "Wrong!";
}
}
关于javascript - 组合 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17239106/