JavaScript

超轻量级php框架startmvc

jQuery模拟窗口抖动效果

更新时间:2020-04-30 04:36:02 作者:startmvc
效果图:代码如下:<!DOCTYPEhtml><html><head><metacharset="utf-8"/><title>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>

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

jquery抖动效果 jquery 抖动