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 相关文章推荐
node.js中的fs.utimes方法使用说明
Dec 15 Javascript
JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
Nov 24 Javascript
jquery中ajax处理跨域的三大方式
Jan 05 Javascript
JS实现图片平面旋转的方法
Mar 01 Javascript
基于Vue.js实现数字拼图游戏
Aug 02 Javascript
Vue.js实现无限加载与分页功能开发
Nov 03 Javascript
d3.js实现简单的网络拓扑图实例代码
Nov 06 Javascript
浅谈移动端之js touch事件 手势滑动事件
Nov 07 Javascript
vue-hook-form使用详解
Apr 07 Javascript
Nuxt.js实现一个SSR的前端博客的示例代码
Sep 06 Javascript
搭建Vue从Vue-cli到router路由护卫的实现
Nov 14 Javascript
vue实现可拖拽的dialog弹框
May 13 Vue.js
利用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上传、管理照片示例
2006/10/09 PHP
PHP函数microtime()用法与说明
2013/12/04 PHP
解密ThinkPHP3.1.2版本之模块和操作映射
2014/06/19 PHP
PHP数据库操作三:redis用法分析
2017/08/16 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
2018/05/23 PHP
PHP项目多语言配置平台实现过程解析
2020/05/18 PHP
奇妙的js
2007/09/24 Javascript
使用JQuery和CSS模拟超链接的用户单击事件的实现代码
2012/05/23 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
js判断浏览器类型及设备(移动页面开发)
2015/07/30 Javascript
jquery利用拖拽方式在图片上添加热链接
2015/11/24 Javascript
AngularJS入门教程之XHR和依赖注入详解
2016/08/18 Javascript
Javascript动画效果(3)
2016/10/11 Javascript
jQuery基于ajax实现页面加载后检查用户登录状态的方法
2017/02/10 Javascript
基于JavaScript实现类名的添加与移除
2017/04/23 Javascript
用vue和node写的简易购物车实现
2017/04/25 Javascript
React-Native中props具体使用详解
2017/09/04 Javascript
JS开发中基本数据类型具体有哪几种
2017/10/19 Javascript
axios简单实现小程序延时loading指示
2018/07/30 Javascript
vue+element-ui动态生成多级表头的方法
2018/08/28 Javascript
Node.js 如何利用异步提升任务处理速度
2019/01/07 Javascript
JS简单数组排序操作示例【sort方法】
2019/05/17 Javascript
微信小程序拖拽排序列表的示例代码
2020/07/08 Javascript
Vue用mixin合并重复代码的实现
2020/11/27 Vue.js
Python文件夹与文件的相关操作(推荐)
2016/07/25 Python
Python生成数字图片代码分享
2017/10/31 Python
mac系统安装Python3初体验
2018/01/02 Python
详解Python中的type和object
2018/08/15 Python
python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法
2020/04/22 Python
Python 跨.py文件调用自定义函数说明
2020/06/01 Python
selenium携带cookies模拟登陆CSDN的实现
2021/01/19 Python
新加坡交友网站:be2新加坡
2019/04/10 全球购物
车间班长岗位职责
2013/11/30 职场文书
工会优秀工作者事迹
2014/08/17 职场文书
我爱家乡演讲稿
2014/09/12 职场文书
校园游戏活动新闻稿
2014/10/15 职场文书