87,996
社区成员




var origin = parseInt(getStyle(obj,attr));
var shake = setInterval(function(){
obj.style[attr] = origin + arr[num] + 'px';
num++;
if(num == arr.length){
clearInterval(shake);
endFn && endFn();
}
},50)
这样就不会改变了
window.onload = function(){
function getStyle(obj,attr){
return obj.currentStyle ? obj.currentStyle[attr] : getComputedStyle(obj)[attr];
}
var shaking = false;
function shake(obj,attr,endFn){
if(shaking == true){
return;
}
shaking = true;
var arr = [];
for(var i=20;i>0;i-=2){
arr.push(i,-i);
}
arr.push(0);
var num = 0;
var origin = parseInt(getStyle(obj,attr));
obj.shake = setInterval(function(){
obj.style[attr] = origin + arr[num] + 'px';
num++;
if(num == arr.length){
clearInterval(obj.shake);
endFn && endFn();
shaking = false;
}
},50)
}
var img = document.getElementsByTagName("img")[0];
img.onmouseover = function(){
shake(this,'top');
}
}
这样解决不知能否满足楼主?