抖动函数的封装

29 function shake ( obj, attr, endFn ) {
30     var pos = parseInt( getStyle(obj, attr) );
31     var arr = [];            // 20, -20, 18, -18 ..... 0
32     var num = 0;34         
35     for ( var i=20; i>0; i-=2 ) {
36         arr.push( i, -i );
37     }
38     arr.push(0);
39         
40     clearInterval( obj.shake );
41     obj.shake = setInterval(function (){
42         obj.style[attr] = pos + arr[num] + 'px';
43         num++;
44         if ( num === arr.length ) {
45             clearInterval( obj.shake );
46             endFn && endFn();
47         }
48     }, 50);
49 }
原文地址:https://www.cnblogs.com/frontendnotes/p/6428384.html