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 相关文章推荐
用javascript实现给出的盒子的序列是否可连为一矩型
Aug 30 Javascript
JavaScript浏览器选项卡效果
Aug 25 Javascript
20款非常优秀的 jQuery 工具提示插件 推荐
Jul 15 Javascript
javascript判断css3动画结束 css3动画结束的回调函数
Mar 10 Javascript
Ionic3 UI组件之Gallery Modal详解
Jun 07 Javascript
vue resource post请求时遇到的坑
Oct 19 Javascript
layui结合form,table的全选、反选v1.0示例讲解
Aug 15 Javascript
详解微信小程序用定时器实现倒计时效果
Apr 30 Javascript
ES6中let、const的区别及变量的解构赋值操作方法实例分析
Oct 15 Javascript
vue在路由中验证token是否存在的简单实现
Nov 11 Javascript
微信小程序轮播图swiper代码详解
Dec 01 Javascript
全面解析js中的原型,原型对象,原型链
Jan 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
对squid中refresh_pattern的一些理解和建议
2009/04/17 PHP
php 过滤器实现代码
2010/08/09 PHP
解析php php_openssl.dll的作用
2013/07/01 PHP
php利用cookie实现自动登录的方法
2014/12/10 PHP
浅谈PHP eval()函数定义和用法
2016/06/21 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
PHP8.0新功能之Match表达式的使用
2020/07/19 PHP
jQuery学习5 jQuery事件模型
2010/02/07 Javascript
jQuery 添加/移除CSS类实现代码
2010/02/11 Javascript
js取模(求余数)隔行变色
2014/05/15 Javascript
js设置document.domain实现跨域的注意点分析
2015/05/21 Javascript
原生JS实现拖拽图片效果
2020/08/27 Javascript
深入剖析JavaScript中的函数currying柯里化
2016/04/29 Javascript
Bootstrap 表单验证formValidation 实现远程验证功能
2017/05/17 Javascript
关于JavaScript中forEach和each用法浅析
2017/07/27 Javascript
详解基于vue-cli优化的webpack配置
2017/11/06 Javascript
Angular5给组件本身的标签添加样式class的方法
2018/04/07 Javascript
Vue中使用vue-i18插件实现多语言切换功能
2018/04/25 Javascript
vuejs 制作背景淡入淡出切换动画的实例
2018/09/01 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
2018/10/07 Javascript
[43:03]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
python文件和目录操作函数小结
2014/07/11 Python
Django中对通过测试的用户进行限制访问的方法
2015/07/23 Python
简单总结Python中序列与字典的相同和不同之处
2016/01/19 Python
pygame加载中文名mp3文件出现error
2017/03/31 Python
Python实现识别手写数字 简易图片存储管理系统
2018/01/29 Python
python opencv检测目标颜色的实例讲解
2018/04/02 Python
python微信公众号之关键词自动回复
2018/06/15 Python
Photobook澳大利亚:制作相片书,婚礼卡,旅行相簿
2017/01/12 全球购物
某公司Java工程师面试题笔试题
2016/03/27 面试题
会计专业自我评价
2014/02/12 职场文书
教师先进工作者事迹材料
2014/05/01 职场文书
爬山的活动方案
2014/08/16 职场文书
防火标语大全
2014/10/06 职场文书
2014年公务员工作总结
2014/11/18 职场文书
合作与交流自我评价
2015/03/09 职场文书