一旦它开始,你如何取消一个jQuery fadeOut()?(How do you cancel a jQuery fadeOut() once it has began?)

编程入门 行业动态 更新时间:2024-10-27 01:27:19
一旦它开始,你如何取消一个jQuery fadeOut()?(How do you cancel a jQuery fadeOut() once it has began?)

我有一个基本的div元素来表示我显示几秒钟的消息,然后使用它淡出

$('#message').fadeOut(5000);

如果用户将鼠标悬停在div上,我想要取消淡出。

一旦fadeOut方法开始淡化,我该如何取消淡出

如果鼠标在显示时进入了div,我现在的代码如下所示,但是如果用户将鼠标悬停在div上,那么它就会显示出来。

$('#message').mouseenter(function() { clearTimeout(this.timeout); }); $('#message').mouseleave(function() { this.timeout = setTimeout("$('#message').fadeOut(5000)", 3000); }); $('#message').fadeIn(2000, function() { this.timeout = setTimeout("$('#message').fadeOut(3000)", 3000); });

I have a basic div element to represent a message that I show for a few seconds and then fade it out using

$('#message').fadeOut(5000);

I want to be able to cancel the fade out if the user hovers their mouse over the div.

How can I cancel the fade out once the fadeOut method has started to fade the div?

My existing code, below, works if the mouse enters the div whilst it is being shown but I need to allow for if the user hovers over the div once it has started to fade.

$('#message').mouseenter(function() { clearTimeout(this.timeout); }); $('#message').mouseleave(function() { this.timeout = setTimeout("$('#message').fadeOut(5000)", 3000); }); $('#message').fadeIn(2000, function() { this.timeout = setTimeout("$('#message').fadeOut(3000)", 3000); });

最满意答案

查看停止功能

http://docs.jquery.com/Effects/stop#clearQueuegotoEnd

Check out the stop function

http://docs.jquery.com/Effects/stop#clearQueuegotoEnd

更多推荐

本文发布于:2023-07-05 01:01:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1031230.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:fadeOut   jQuery   began   cancel

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!