Js如何终止函数的执行

改一下昵称 2011-05-25 08:09:13
JQuery里有这个函数fadeOut(4000),是在四秒时间里将一个元素渐渐淡出,消失
我的想法是onmouseover时执行这个,而onmouseout时终止执行
但网上似乎找不到这个专门终止执行的函数而只有return,exit关键字
...全文
4910 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
改一下昵称 2011-05-29
  • 打赏
  • 举报
回复
好吧,结贴,再查下六楼说的函数
改一下昵称 2011-05-29
  • 打赏
  • 举报
回复
sorry,本来想回复三楼的,csdn的布局有点不适应
改一下昵称 2011-05-29
  • 打赏
  • 举报
回复
我刚开始也这么想,可是要知道这个函数一次就执行完了,不能再拆分了
[Quote=引用 2 楼 zhangao0086 的回复:]
引用 1 楼 tang3567 的回复:

要不你在onmouseout的时候直接hide()吧


这样不行吧?fadeOut应该是不停地设置元素的透明度,hide()之后会又显示出来吧?
[/Quote]
Dage 2011-05-29
  • 打赏
  • 举报
回复
关注当中,正在学习这方面的东西。呵呵!
madpc 2011-05-27
  • 打赏
  • 举报
回复
这个应该是一个timer(setInterval 或 setTimeout )控制的,要停的不是函数,而是timer
vermilion3618 2011-05-27
  • 打赏
  • 举报
回复
$("xx").mouseover(function(){
$("yy").fadeOut(4000);
}).mouseout(function(){
$("yy").stop(true,true);
})

stop(bool,bool)函数解释:在1.4版本的jquery以上为stop函数加了2个bool值参数
第一个bool : 是否清除选择器中的动画(要停止就写true)
第二个bool : 是否将选择器的包含动画的元素变为动画的最终效果(如果为false,那么你鼠标移开的时候如果动画还没有淡出完 那么这个层就会一直保持半透明状态
fkueyygyispw 2011-05-26
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 pj100 的回复:]

stop([clearQueue], [gotoEnd])
概述
停止所有在指定元素上正在运行的动画。

如果队列中有等待执行的动画(并且clearQueue没有设为true),他们将被马上执行
[/Quote]
Crazywa 2011-05-26
  • 打赏
  • 举报
回复
六楼是正解。。。stop方法。
燥动的心 2011-05-26
  • 打赏
  • 举报
回复
stop([clearQueue], [gotoEnd])
概述
停止所有在指定元素上正在运行的动画。

如果队列中有等待执行的动画(并且clearQueue没有设为true),他们将被马上执行
gaozliang2009 2011-05-26
  • 打赏
  • 举报
回复
onmouseout 函数中 return false;
hongmei85 2011-05-25
  • 打赏
  • 举报
回复
用stop

HTML 代码:
<button id="go">Go</button> <button id="stop">STOP!</button>
<div class="block"></div><button id="go">Go</button> <button id="stop">STOP!</button>
<div class="block"></div>jQuery 代码:
// 开始动画
$("#go").click(function(){
$(".block").animate({left: '+200px'}, 5000);
});

// 当点击按钮后停止动画
$("#stop").click(function(){
$(".block").stop();
});
ma1986 2011-05-25
  • 打赏
  • 举报
回复
楼主的意思是当onmouseover 2秒时onmouseout,保持在第2秒的状态?那就在时间每次加一 的时候做个判断嘛 假如当前onmouseout循环就停止
Bannings 2011-05-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 tang3567 的回复:]

要不你在onmouseout的时候直接hide()吧
[/Quote]

这样不行吧?fadeOut应该是不停地设置元素的透明度,hide()之后会又显示出来吧?
tang3567 2011-05-25
  • 打赏
  • 举报
回复
要不你在onmouseout的时候直接hide()吧

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧