全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

jquery hover 不停闪动问题的解决方法(亦为stop()的使用)

在前端开发中用的较多的是jquery,之前遇到一个问题,一个下拉的jquery下拉菜单效果,hover上去,一直闪动,用mouseovermouseout好好的,当时没搞定,今天逛论坛看到一个方法,可以行.只怪自己之前看jquery api的时候不是很仔细。

解决闪动 可以使用Stop()

stop([clearQueue],[jumpToEnd])

概述

停止所有在指定元素上正在运行的动画。

如果队列中有等待执行的动画(并且clearQueue没有设为true),他们将被马上执行

参数

[clearQueue],[gotoEnd] Boolean,BooleanV1.2clearQueue:如果设置成true,则清空队列。可以立即结束动画。

gotoEnd: 让当前正在执行的动画立即完成,并且重设show和hide的原始样式,调用回调函数等。

[queue],[clearQueue],[jumpToEnd]BooleanV1.7queue:用来停止动画的队列名称

clearQueue: 如果设置成true,则清空队列。可以立即结束动画。

jumpToEnd: 如果设置成true,则完成队列。可以立即完成动画。

当鼠标移上去的时候就菜单下拉,当鼠标离开的时候菜单上卷,下拉和上卷的动画时间都是5秒种。

$("#menu").hover( 
    function () { 
      $("#menu").animate({ height: "500" }, 5000); 
    }, 
    function () { 
      $("#menu").animate({ height: "100" }, 5000); 
    } 
);

如果我快速不断地将鼠标移入移出菜单(即,当菜单下拉动画未完成时,鼠标又移出了菜单)就会产生“动画积累”,当鼠标停止移动后,积累的动画还会持续执行,直到动画序列执行完毕。这样导致动画效果与鼠标动作不一致。

要解决此问题只需要在移入移出动画之前加入stop(),结束当前动画进入下个动画即可。

代码如下:

$("#menu").hover( 
    function () { 
      $("#menu").stop().animate({ height: "500" }, 5000); 
    }, 
    function () { 
      $("#menu").stop().animate({ height: "100" }, 5000); 
    } 
);

如果需到组合动画,在移入移出动画之前加入stop()来停止当前动画,如下

$("#menu").hover( 
    function () { 
      $("#menu").stop().animate({ height: "500" }, 5000).animate({ width: "500px" }, 3000); 
    }, 
    function () { 
      $("#menu").stop().animate({ height: "100" }, 5000).animate({ width: "100px" },3000); 
    } 
);

效果并不好,因为stop()只是停止了当前第一步的动画(即{height:”500″}),然后又进入了第二步的动画(即[width:”500″})。

此时stop()的第一个参数就派上了用场,它会把下面没有执行的动画序列都清空掉。

$("#menu").hover( 
    function () { 
      $("#menu").stop(true).animate({ height: "500" }, 5000).animate({ width: "500px" }, 5000); 
    }, 
    function () { 
      $("#menu").stop(true).animate({ height: "100" }, 5000).animate({ width: "100px" },5000); 
    } 
);

当然也可以使用第二个参数,让动画达到最后状态。如:stop(false,true)

以上这篇jquery hover 不停闪动问题的解决方法(亦为stop()的使用)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# jquery  # hover  # 闪烁  # 详解jQuery停止动画——stop()方法的使用  # jQuery stop()用法实例详解  # 逐一介绍Jquery data()、Jquery stop()、jquery delay()函数(详  # jquery中animate的stop()方法作用实例分析  # 理解jQuery stop()方法  # JQuery动画animate的stop方法使用详解  # Jquery ajaxStart()与ajaxStop()方法(实例讲解)  # Jquery阻止事件冒泡 event.stopPropagation  # jq stop()和:is(:animated)的用法及区别(详解)  # 鼠标  # 移出  # 清空  # 设置成  # 给大家  # 当鼠标  # 可以使用  # 的是  # 都是  # 就会  # 第一个  # 上了  # 还会  # 中有  # 只需  # 设为  # 不是很  # 要在  # 希望能  # 第二个 


相关文章: 活动邀请函制作网站有哪些,活动邀请函文案?  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  北京网站制作网页,网站升级改版需要多久?  网站制作话术技巧,网站推广做的好怎么话术?  无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  广州商城建站系统开发成本与周期如何控制?  招贴海报怎么做,什么是海报招贴?  宝塔建站教程:一键部署配置流程与SEO优化实战指南  如何通过商城免费建站系统源码自定义网站主题?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  简易网站制作视频教程,使用记事本编写一个简单的网页html文件?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  定制建站模板如何实现SEO优化与智能系统配置?18字教程  如何在IIS服务器上快速部署高效网站?  如何快速搭建FTP站点实现文件共享?  定制建站流程步骤详解:一站式方案设计与开发指南  如何通过网站建站时间优化SEO与用户体验?  建站之星好吗?新手能否轻松上手建站?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  建站之星CMS五站合一模板配置与SEO优化指南  建站与域名管理如何高效结合?  制作电商网页,电商供应链怎么做?  智能起名网站制作软件有哪些,制作logo的软件?  韩国服务器如何优化跨境访问实现高效连接?  建站OpenVZ教程与优化策略:配置指南与性能提升  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  山东云建站价格为何差异显著?  打鱼网站制作软件,波克捕鱼官方号怎么注册?    Python路径拼接规范_跨平台处理说明【指导】  教程网站设计制作软件,怎么创建自己的一个网站?  常州自助建站费用包含哪些项目?  网站制作软件有哪些,制图软件有哪些?  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  如何在Golang中处理模块冲突_解决依赖版本不兼容问题  建站主机与虚拟主机有何区别?如何选择最优方案?  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  如何快速生成高效建站系统源代码?  如何选择美橙互联多站合一建站方案?  如何选择高性价比服务器搭建个人网站?  广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?  如何用低价快速搭建高质量网站?  网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?  建站之星官网登录失败?如何快速解决?  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。