悬停不在JQuery中工作

时间:2013-01-23 15:39:41

标签: html jquery

我创建了一个简单的DIV,它位于页面的边缘,我写了一个简单的脚本来移动它。

问题是当你将鼠标悬停在DIV上时,然后拿走你的光标。当DIV隐藏并再次将光标移动到DIV,然后一直是脚本,弹出并隐藏DIV。

我在jsFiddle.com为你创建了“小提琴”,以更好地说明我的问题: http://jsfiddle.net/IdolwSzutrab7/DWvbJ/,以及显示问题的动画gif:

$('#h53pg4s4b6').hover(function () {
    $('#h53pg4s4b6').delay(400).animate({
        right: "3px"
    }, 1300);
    $('#u26c5lsx9h').animate({
        opacity: "1.0"
    }, 500);
    clearTimeout(time3);
}, function () {
    time3 = setTimeout(function () {
        $('#h53pg4s4b6').animate({
            right: "-220px"
        }, 1300);
        $('#u26c5lsx9h').delay(1400).animate({
            opacity: "0.2"
        }, 500);
    }, 1000)
})

 $('#t895o6n9qs').click(function () {
    $('#b37jjlmy2t').css('display', 'block');
    $('#a15tnjlyw6').css('display', 'none');
})

 $('#u83mz78d5l').click(function () {
    $('#b37jjlmy2t').css('display', 'none');
    $('#a15tnjlyw6').css('display', 'block');
})

 $('#s4iu2h7dra').click(function () {
    $('#h53pg4s4b6').fadeOut(3000, function () {
        $('#h53pg4s4b6').remove();
    });
})

http://i.stack.imgur.com/BxVDK.gif

如何...

如何停止脚本?

或不......

我不知道......

也许我应该写另一个脚本?

我不知道我能做些什么:/

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

拜托,你能帮助我吗?

PS:对不起我的英语,我希望你能理解我。

1 个答案:

答案 0 :(得分:0)

jQuery .stop()将在这里为您提供帮助

查看更新后的JSFiddle here

我更新了您的代码,如下所示

$('#h53pg4s4b6').hover(function () {
    $('#u26c5lsx9h').stop().animate({
        opacity: "1.0"
    }, 500, function () {
        $('#h53pg4s4b6').stop().animate({
            right: "3px"
        }, 1300);
    });
    clearTimeout(time3);
}, function () {
    time3 = setTimeout(function () {
        $('#h53pg4s4b6').stop().animate({
            right: "-220px"
        }, 1300);
        $('#u26c5lsx9h').stop().animate({
            opacity: "0.2"
        }, 500);
    }, 1000)
})

另外,我有一个建议:您可以删除delay()函数,因为没有这些函数效果会更加平滑。