1

在一个网站中,我想摇一个包含图像的 div,它固定在页面的底部。我尝试向它添加摇动功能,它在摇动但位置改变到左侧。我该如何解决?让我写代码。

     var css_shake={
     right: '225px',
     left: 'auto',
     position: 'fixed',
     bottom:'50px'
 }
  jQuery.fn.shake = function() {
  this.each(function(i) {
  jQuery(this).css(css_shake);
    for (var x = 1; x <= 3; x++) {
        jQuery(this).animate({ left: -25 }, 10).animate({ left: 0 }, 50).animate({ left: 25 }, 10).animate({ left: 0 }, 50);
    }
});
return this;
}

写 $(div).shake() 时它可以工作,但我不想这样做。

 <div  id="affix_sepet">
    <img src="img/sepet_yeni.png" height="226" width="163">
 </div>

这个 div 也有引导词缀: jQuery("#affix_sepet").affix()

4

2 回答 2

0
     var css_shake={
     right: '225px',
     left: 'auto',
     position: 'fixed',
     bottom:'50px'
 }
  jQuery.fn.shake = function() {
  this.each(function(i) {
  jQuery(this).css(css_shake);

        jQuery(this).animate({ left: -25 }, 10).animate({ left: 0 }, 50).animate({ left: 25 }, 10).animate({ left: 0 }, 50);
        jQuery(this).animate({ top: -25 }, 10).animate({ top: 0 }, 50).animate({ top: 25 }, 10).animate({ top: 0 }, 50);
        jQuery(this).animate({ left: -25 }, 10).animate({ left: 0 }, 50).animate({ left: 25 }, 10).animate({ left: 0 }, 50);
        jQuery(this).animate({ top: -25 }, 10).animate({ top: 0 }, 50).animate({ top: 25 }, 10).animate({ top: 0 }, 50);
        jQuery(this).animate({ left: -25 }, 10).animate({ left: 0 }, 50).animate({ left: 25 }, 10).animate({ left: 0 }, 50);
        jQuery(this).animate({ top: -25 }, 10).animate({ top: 0 }, 50).animate({ top: 25 }, 10).animate({ top: 0 }, 50);




});
return this;
}
于 2013-06-30T08:01:36.630 回答
0

您正在为动画使用绝对左值而不是相对值。尝试使用以下语法:

jQuery(this).animate({ left : '+=25px' }, 10).animate({ left : '-=25px' }, 10) ;

目前,您正在围绕绝对位置 -25 到 25 反弹元素,并将其放在左边框上。

于 2013-06-30T09:09:38.427 回答