我有禁用徘徊時,首先點擊鏈接操作的功能,然後允許第二次點擊鏈接操作:jQuery的問題,懸停,單擊和if語句
<script type="text/javascript">
$('document').ready(function() {
$("#menu ul > li").hover(function() {
i = 1;
if ($('div', this).children().size() > 0) {
$('.drop', this).addClass("locked");
}
$('.locked').click(function() {
if (i < 2) {
i++;
console.log("if 1 i = ", i);
return false;
} else {
i = 1;
console.log("if 2 i = ", i);
}
});
clearTimeout($.data(this, 'timer'));
$('div', this).stop(true, true).delay(300).slideDown(200);
}, function() {
$.data(this, 'timer', setTimeout($.proxy(function() {}, this), 100));
$('div', this).stop(true, true).slideUp(100);
$('.drop', this).removeClass("locked");
i = 1;
});
});
</script>
在第一懸停功能工作正常,但如果我讓該功能在沒有點擊的情況下運行,請將鼠標移出懸浮元素,然後返回並再次「下拉」該菜單,if在.click中停止工作。在控制檯中,好像if子句直接循環顯示。 任何想法爲什麼?
你可以發佈jsFiddle鏈接嗎? –
這裏是小提琴http://jsfiddle.net/VJZW8/2/ – john