JavaScript/JQuery事件处理程序问题
一直在玩JavaScript/JQuery,并制作了一个“shy”按钮,而它只是一个带有单词的p标记。它工作正常,除了布尔仓库似乎没有改变,所以它总是下降。我的代码怎么了 另外,VS2010中的JavaScript调试似乎不是很好,这是一个已知的问题吗 提前谢谢JavaScript/JQuery事件处理程序问题,javascript,jquery,Javascript,Jquery,一直在玩JavaScript/JQuery,并制作了一个“shy”按钮,而它只是一个带有单词的p标记。它工作正常,除了布尔仓库似乎没有改变,所以它总是下降。我的代码怎么了 另外,VS2010中的JavaScript调试似乎不是很好,这是一个已知的问题吗 提前谢谢 if (typeof naarBeneden == 'undefined') { var goDown = new Boolean(true); } $(document).ready(function () { $
if (typeof naarBeneden == 'undefined') {
var goDown = new Boolean(true);
}
$(document).ready(function () {
$(".moveme").animate({ "left": "+=500px"
}, 2000);
$(".moveme").hover(move());
});
function move() {
if (goDown) {
$(".moveme").hover(function () {
$(this).animate({ "top": "+=50px" }, 0)
});
goDown = false;
}
else {
$(".moveme").hover(function () {
$(this).animate({ "top": "-=50px" }, 0)
});
goDown = true;
}
}
主要问题是:
$(".moveme").hover(move());
您正在调用move()
而不是将move
用作处理程序,您需要不带括号的处理程序,如下所示:
$(".moveme").hover(move);
即使这样做,您也会在每个悬停
事件上分配一个新的处理程序,我怀疑这是您真正想要的。很难说清楚你到底在追求什么,但我想这就是:
$(function () {
var goDown = typeof naarBeneden != 'undefined';
$(".moveme").animate({ "left": "+=500px" }, 2000);
.hover(function () {
$(this).animate({ "top": goDown ? "+=50px" : "-=50px" }, 0);
}, function() {
$(this).animate({ "top": !goDown ? "+=50px" : "-=50px" }, 0);
});
});
当您悬停/离开元素时,如果
货仓
为真
,则分配一个向上然后向下的动画;如果货仓
为假
,则分配相反的动画:永远不要使用新布尔值
。它不做任何你想做的事情,并且有奇怪的行为,比如newboolean(false)?1:0
为1
。