我在进行反应测试时遇到了更多问题。出于某种原因,'div'在点击时不会“隐藏”。我基本上想要它,以便在点击之后,有一个随机的暂停,然后'div'再次出现在下一个指定的位置。我认为问题可能在于以下代码。
if (posctr = 1) {
$div.css({
top: 300,
left: 150
}).show();
} else if (posctr = 2) {
$div.css({
top: 100,
left: 600
}).show();
} else if (posctr = 3) {
$div.css({
top: 650,
left: 400
}).show();
} else if (posctr = 4) {
$div.css({
top: 500,
left: 150
}).show();
} else if (posctr = 5) {
$div.css({
top: 50,
left: 400
}).show();
} else if (posctr = 6) {
$div.css({
top: 400,
left: 100
}).show();
}
您可以在此处试用:http://jsfiddle.net/FWSc7/
任何帮助将不胜感激!谢谢!
编辑:这是最新版本。我遇到了'div'出现7次问题。 http://jsfiddle.net/FWSc7/8/
答案 0 :(得分:2)
1)您在if.else ..语句中使用了赋值运算符=
。
在所有if语句中将其更改为==
(相等比较)
例如:
if (posctr == 1)
2)除此之外,您可以在控制台(在开发人员工具中)中看到一些错误
3)错误的选择器
$div.hide(); //Wrong since you haven't declared any variable like this
请将此添加到您的代码中
var $div = $('div');
答案 1 :(得分:0)
您应该使用==
代替=
= is a declaration
== is a comparison
答案 2 :(得分:0)
通过==
进行相等性比较(如果你使用严格相等===
更好)而不是=
(赋值),则可以大大减少冗余代码一个简单的数组查找
e.g。
var coords = {
y : [0, 300, 100, 650, 500, 50, 400],
x : [0, 150, 600, 400, 150, 400, 100]
}
然后写下
$div.css({
top: coords['y'][posctr],
left: coords['x'][posctr]
}).show();
代码可以更好地维护并且更不容易出错