JQuery中解决重复动画的方法


Posted in Javascript onOctober 17, 2016

下面我们就来总结一下几个JQuery中解决重复动画的办法 ,这里有几个常见的动画效果,它们分别是:图片滚动轮播,回到页面顶部,联级菜单滑出,手风琴。

图片滚动:

$("#banner-min-img1").mouseover(function (){
$("#banner-img").animate({left:"0px"},300)}
$("#banner-min-img2").mouseover(function (){
 $("#banner-img").animate({left:"-1041px"},300)}
$("#banner-min-img3").mouseover(function (){
$("#banner-img").animate({left:"-1990px"},300)}

回到页面顶部:

$("#goBackTop").click(function (){
$("html,body").animate({scrollTop:0},1000)}

在实际操作中我们会发现,代码是非常简单的,就那么2、3行,但是其中的队列控制也让人不忍直视:

回到页面顶部,如果你连续点击回到页面顶部多次,那么短时间内你就再也没办法用滚动条了;

滚动轮播,你指向100次,他就会滚100次才停止!完全不顾及你的感受!

那么如何来解决呢?其实jquery内置了2种方法,一种是stop,一种是在对象后面加上is(:animated),推荐使用后面一种,用上之后,腰也不酸了,动画也听话了;代码

回到顶部,代码如下:

$("#goBackTop").click(function (){
  if(!$("html,body").is(":animated"))
     {$("html,body").animate({scrollTop:0},1000)}
})

最后奉上 最简洁的 手风琴代码,只有2行:

CSS:

<meta charset="utf-8">
  <style>
    .wrap{
      width: 400px;
      min-height: 550px!important;
      background: #000;
      display: block!important;
    }
    div{
      width: 400px;
      height: 200px;
      background: #faf8ff;
      display: none;
      overflow: hidden;
    }
    p{
      width: 400px;
      height: 50px;
      line-height:50px;
      background: #62f1f4;
      cursor: pointer;
      border-bottom: 1px solid #eee;
      color: #777;
      font-size: 1.3em;
      font-style: italic;
      margin: 0;
      padding: 0;
    }
    .dis{
      display: block;
    }
  </style>

HTML:

<body>
<div class="wrap">
<p>Acc</p>
<div class="dis">大</div>
<p>click me</p>
<div>王</div>
<p>click me</p>
<div>派</div>
<p>click me</p>
<div>我</div>
<p>click me</p>
<div>来</div>
<p>click me</p>
<div>巡</div>
<p>click me</p>
<div>山</div>
</div>
</body>

jquery!

<script src="jquery1.9.1.js"></script>
<script>
  $("p").mousedown(function(){
    $(this).next("div").slideToggle();
    $(this).next("div").siblings("div").slideUp();
  });
</script>

希望本文所述对你有所帮助,JQuery中解决重复动画的办法内容就给大家介绍到这里了。希望大家继续关注我们的网站!想要学习JQuery可以继续关注本站。

Javascript 相关文章推荐
JavaScript获取GridView中用户点击控件的行号,列号
Apr 14 Javascript
javascript学习笔记之10个原生技巧
May 21 Javascript
js用Date对象的setDate()函数对日期进行加减操作
Sep 18 Javascript
jQuery 防止相同的事件快速重复触发方法
Feb 08 jQuery
Vue使用高德地图搭建实时公交应用功能(地图 + 附近站点+线路详情 + 输入提示+换乘详情)
May 16 Javascript
jQuery插件jsonview展示json数据
May 26 jQuery
jquery使用FormData实现异步上传文件
Oct 25 jQuery
微信小程序中如何计算距离某个节日还有多少天
Jul 15 Javascript
原生js代码能实现call和bind吗
Jul 31 Javascript
解决vue组件中click事件失效的问题
Nov 09 Javascript
基于JavaScript实现简单扫雷游戏
Jan 02 Javascript
JavaScript实现简单计时器
Jun 22 Javascript
bootstrap读书笔记之CSS组件(上)
Oct 17 #Javascript
原生JavaScript制作计算器
Oct 16 #Javascript
JavaScript 实现的checkbox经典实例分享
Oct 16 #Javascript
JavaScript正则表达式实例详解
Oct 16 #Javascript
js实现碰撞检测特效代码分享
Oct 16 #Javascript
js+css3制作时钟特效
Oct 16 #Javascript
js实现可旋转的立方体模型
Oct 16 #Javascript
You might like
PHP中使用socket方式GET、POST数据实例
2015/04/02 PHP
php curl模拟post请求和提交多维数组的示例代码
2015/11/19 PHP
JavaScript实现复制功能各浏览器支持情况实测
2013/07/18 Javascript
jquery下div 的resize事件示例代码
2014/03/09 Javascript
Javascript this 关键字 详解
2014/10/22 Javascript
Javascript中String的常用方法实例分析
2015/06/13 Javascript
每天一篇javascript学习小结(面向对象编程)
2015/11/20 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(一)
2016/05/17 Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
2016/05/27 Javascript
jquery的checkbox,radio,select等方法小结
2016/08/30 Javascript
JS锚点的设置与使用方法
2016/09/05 Javascript
Node.js制作简单聊天室
2017/01/12 Javascript
Angular.js自定义指令学习笔记实例
2017/02/24 Javascript
js仿淘宝商品放大预览功能
2017/03/15 Javascript
微信小程序开发之toast提示插件使用示例
2017/06/08 Javascript
详解vue组件通信的三种方式
2017/06/30 Javascript
angular.js实现购物车功能
2017/10/23 Javascript
基于substring()和substr()的使用以及区别(实例讲解)
2017/12/28 Javascript
js获取对象,数组所有属性键值(key)和对应值(value)的方法示例
2019/06/19 Javascript
在博客园博文中添加自定义右键菜单的方法详解
2020/02/05 Javascript
解决nuxt 自定义全局方法,全局属性,全局变量的问题
2020/11/05 Javascript
Python实现文件复制删除
2016/04/19 Python
Python将多个excel文件合并为一个文件
2018/01/03 Python
python 读取txt中每行数据,并且保存到excel中的实例
2018/04/29 Python
Python代码实现删除一个list里面重复元素的方法
2019/04/02 Python
python初学者,用python实现基本的学生管理系统(python3)代码实例
2019/04/10 Python
Python函数基本使用原理详解
2020/03/19 Python
python读取yaml文件后修改写入本地实例
2020/04/27 Python
python创建文本文件的简单方法
2020/08/30 Python
如何用python实现一个HTTP连接池
2021/01/14 Python
python实现杨辉三角的几种方法代码实例
2021/03/02 Python
为数据库创建索引都需要注意些什么
2012/07/17 面试题
计算机应用与科学个人的自我评价
2013/11/15 职场文书
文明餐桌行动实施方案
2014/02/19 职场文书
真诚的求职信
2014/07/04 职场文书
Nginx解决403 forbidden的完整步骤
2021/04/01 Servers