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 no-repeat写法 背景不重复
Mar 18 Javascript
Exjs 入门篇
Apr 07 Javascript
YUI的Tab切换实现代码
Apr 11 Javascript
JS打印gridview实现原理及代码
Feb 05 Javascript
jquery中object对象循环遍历的方法
Dec 18 Javascript
BootStrap table删除指定行的注意事项(笔记整理)
Feb 05 Javascript
jquery仿微信聊天界面
May 06 jQuery
js 监控iframe URL的变化实例代码
Jul 12 Javascript
vue+axios 前端实现登录拦截的两种方式(路由拦截、http拦截)
Oct 24 Javascript
angularjs自定义过滤器demo示例
Aug 24 Javascript
JavaScript适配器模式原理与用法实例详解
Mar 09 Javascript
JS异步宏队列与微队列原理区别详解
Jul 02 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
用PHPdig打造属于你自己的Google[图文教程]
2007/02/14 PHP
PHP中将数组转成XML格式的实现代码
2011/08/08 PHP
AJAX的跨域访问-两种有效的解决方法介绍
2013/06/22 PHP
解析php框架codeigniter中如何使用框架的session
2013/06/24 PHP
php删除左端与右端空格的方法
2014/11/29 PHP
php相对当前文件include其它文件的方法
2015/03/13 PHP
php实现过滤字符串中的中文和数字实例
2015/07/29 PHP
Javascript注入技巧
2007/06/22 Javascript
js分解url参数(面向对象-极简主义法应用)
2012/08/09 Javascript
js 遍历json返回的map内容示例代码
2013/10/29 Javascript
JavaScript中的console.assert()函数介绍
2014/12/29 Javascript
关于jQuery EasyUI 中刷新Tab选项卡后一个页面变形的解决方法
2017/03/02 Javascript
react.js CMS 删除功能的实现方法
2017/04/17 Javascript
利用C/C++编写node.js原生模块的方法教程
2017/07/07 Javascript
手把手教你vue-cli单页到多页应用的方法
2018/05/31 Javascript
微信小程序顶部导航栏滑动tab效果
2019/01/28 Javascript
浅谈Vuex注入Vue生命周期的过程
2019/05/20 Javascript
通过图带你深入了解vue的响应式原理
2019/06/21 Javascript
javascript中的数据类型检测方法详解
2019/08/07 Javascript
Vue 实现一个命令式弹窗组件功能
2019/09/25 Javascript
对layui数据表格动态cols(字段)动态变化详解
2019/10/25 Javascript
JavaScript 监听组合按键思路及代码实现
2020/07/28 Javascript
[00:10]DOTA2 TI9勇士令状明日上线
2019/05/07 DOTA
python 链接和操作 memcache方法
2017/03/04 Python
解决python3捕获cx_oracle抛出的异常错误问题
2018/10/18 Python
python 读取更新中的log 或其它文本方式
2019/12/24 Python
Python PIL库图片灰化处理
2020/04/07 Python
全球知名的婚恋交友网站:Match.com
2017/01/05 全球购物
Ramy Brook官网:美国现代女装品牌
2019/06/18 全球购物
如何估计一张表的大小(假设该表中有1万条数据)
2016/03/27 面试题
大四本科生的自我评价
2013/12/30 职场文书
实习单位接收函
2014/01/11 职场文书
儿媳婚宴答谢词
2014/01/14 职场文书
公安交警中队队长个人对照检查材料思想汇报
2014/10/05 职场文书
劳动仲裁代理词范文
2015/05/25 职场文书
《乙女游戏世界对路人角色很不友好》OP主题曲无字幕动画MV公开
2022/04/05 日漫