jQuery模拟窗口抖动效果


Posted in Javascript onMarch 15, 2017

效果图:

jQuery模拟窗口抖动效果

代码如下:

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8" />
 <title>jQuery模拟窗口抖动</title>
 <style type="text/css">
  input{margin-top: 20px;}
  .center{margin-left: 50%;transform: translate(-50%);}
  .img{display:block;position:absolute;top:100px;}
 </style>
</head>
<body>
 <img src="http://mpic.tiankong.com/60b/994/60b994dc105a7b76b25e116733a142e9/431-0248.jpg" class="img center" />
 <input type="button" class="center" value="模拟窗口抖动" />
 <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.1.0.js" type="text/javascript"></script>
 <script type="text/javascript">
  $(":button").click(function () {
   var len = 4, //晃动的距离,单位像素
   c = 16, //晃动次数,4次一圈
   step = 0, //计数器
   img = $("img"),
   off = img.offset();
   this.step = 0;
   timer = setInterval(function () {
    var set = pos();
    img.offset({ top: off.top + set.y * len, left: off.left + set.x * len });
    if (step++ >= c) {
     img.offset({ top: off.top, left: off.left }); //抖动结束回归原位
     clearInterval(timer);

    }
    // console.log(step)
   }, 45);
  });
  function pos() {
   this.step = this.step ? this.step : 0;
   this.step = this.step == 4 ? 0 : this.step;
   var set = {
    0: { x: 0, y: -1 },
    1: { x: -1, y: 0 },
    2: { x: 0, y: 1 },
    3: { x: 1, y: 0 }
   }
   return set[this.step++];
  }
 </script>
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
JS中剪贴板兼容性、判断复制成功或失败
Mar 09 Javascript
用javascript作一个通用向导说明
Aug 30 Javascript
javascript学习笔记(七)Ajax和Http状态码
Oct 08 Javascript
jquery.cookie.js用法实例详解
Dec 25 Javascript
深入解析JavaScript中函数的Currying柯里化
Mar 19 Javascript
基于jQuery的AJAX和JSON实现纯html数据模板
Aug 09 Javascript
JS 事件绑定、事件监听、事件委托详细介绍
Sep 28 Javascript
js实现各种复制到剪贴板的方法(分享)
Oct 27 Javascript
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
Sep 06 Javascript
使用InstantClick.js让页面提前加载200ms
Sep 12 Javascript
JavaScript学习教程之cookie与webstorage
Jun 23 Javascript
js计时事件实现圆形时钟
Mar 25 Javascript
利用jQuery实现一个简单的表格上下翻页效果
Mar 14 #Javascript
基于React实现表单数据的添加和删除详解
Mar 14 #Javascript
Node.js 中exports 和 module.exports 的区别
Mar 14 #Javascript
JS检测数组类型的方法小结
Mar 14 #Javascript
轻松理解JavaScript闭包
Mar 14 #Javascript
微信小程序 页面跳转及数据传递详解
Mar 14 #Javascript
JavaScript ES6中export、import与export default的用法和区别
Mar 14 #Javascript
You might like
php实现数组筛选奇数和偶数示例
2014/04/11 PHP
用 Composer构建自己的 PHP 框架之构建路由
2014/10/30 PHP
PHP输出九九乘法表代码实例
2015/03/27 PHP
Jquery实现简单的动画效果代码
2012/03/18 Javascript
分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]
2012/10/12 Javascript
JavaScript在IE和FF下的兼容性问题
2014/05/19 Javascript
分享20个提升网站界面体验的jQuery插件
2014/12/15 Javascript
Node.js中使用jQuery的做法
2016/08/17 Javascript
js实现图片淡入淡出切换简易效果
2016/08/22 Javascript
JS中parseInt()和map()用法分析
2016/12/16 Javascript
jQuery实现6位数字密码输入框
2016/12/29 Javascript
BootStrap3中模态对话框的使用
2017/01/06 Javascript
vue2.0 和 animate.css的结合使用
2017/12/12 Javascript
jQuery轻量级表单模型验证插件
2018/10/15 jQuery
vant(ZanUi)结合async-validator实现表单验证的方法
2018/12/06 Javascript
如何优雅地在vue中添加权限控制示例详解
2019/03/07 Javascript
layui 弹出层回调获取弹出层数据的例子
2019/09/02 Javascript
layui table 复选框跳页后再回来保持原来选中的状态示例
2019/10/26 Javascript
vue2路由基本用法实例分析
2020/03/06 Javascript
解决echarts数据二次渲染不成功的问题
2020/07/20 Javascript
vue+element使用动态加载路由方式实现三级菜单页面显示的操作
2020/08/04 Javascript
Python中用max()方法求最大值的介绍
2015/05/15 Python
在Python的Django框架下使用django-tagging的教程
2015/05/30 Python
python实现爬虫统计学校BBS男女比例之数据处理(三)
2015/12/31 Python
python3 下载网络图片代码实例
2019/08/27 Python
Python使用Socket实现简单聊天程序
2020/02/28 Python
浅谈python处理json和redis hash的坑
2020/07/16 Python
使用CSS3来实现滚动视差效果的教程
2015/08/24 HTML / CSS
比较基础的php面试题及答案-填空题
2014/04/26 面试题
介绍Ibatis的核心类
2013/11/18 面试题
如何撰写岗位职责
2014/02/01 职场文书
大学迎新晚会主持词
2014/03/24 职场文书
十八大演讲稿
2014/05/22 职场文书
2015员工年度考核评语
2015/03/25 职场文书
手写实现JS中的new
2021/11/07 Javascript
springboot创建的web项目整合Quartz框架的项目实践
2022/06/21 Java/Android