0

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

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

我在 jsFiddle.com 中为您创建了“Fiddle”,以更好地说明我的问题: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:对不起我的英语,我希望你能理解我。

4

1 回答 1

0

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

在此处查看更新的JSFiddle

我更新了您的代码如下

$('#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() 函数,因为没有它们效果会更平滑。

于 2013-01-23T16:56:05.037 回答