首页 > 编程 > JavaScript > 正文

jQuery模拟窗口抖动效果

2019-11-19 17:09:17
字体:
来源:转载
供稿:网友

效果图:

代码如下:

<!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>

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表