效果图:
代码如下:
<!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>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持北冥有鱼!
您可能感兴趣的文章:
- jQuery实现动态表单验证时文本框抖动效果完整实例
- jQuery实现网页抖动的菜单抖动效果
- jQuery+css3实现文字跟随鼠标的上下抖动
- jQuery插件jRumble实现网页元素抖动
- jQuery通过扩展实现抖动效果的方法
- jquery果冻抖动效果实现方法
- Jquery右下角抖动、浮动 实例代码(兼容ie6、FF)
- jquery.messager.js插件导致页面抖动的解决方法
- 基于jquery的仿百度的鼠标移入图片抖动效果