首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

jQuery animate() 實現圖片上下晃動效果:使用 setInterval 交替動畫

     編輯:程式設計綜合問答

基本思路

利用 setInterval 定時器,交替執行向上、向下的 animate(),形成晃動視覺效果。

代碼範例

function shakeVertical($el, distance, interval) {
    var up = true;
    setInterval(function() {
        $el.animate({ top: up ? '-=' + distance : '+=' + distance }, 200);
        up = !up;
    }, interval);
}

// 使用
shakeVertical($("#myImage"), 10, 1000); // 每秒上下移動 10px

進階:CSS3 動畫(效能更好)

@keyframes shakeVertical {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}
.shake { animation: shakeVertical 1s infinite ease-in-out; }

JS 僅需 $el.addClass('shake'),GPU 加速、不阻塞主執行緒。

注意事項

  • animate 操作 top 需元素 position: relative/absolute/fixed。
  • 頻繁 animate 可能導致佇列堆積,建議 .stop(true, true) 清佇列或用 CSS 動畫。
  • 晃動幅度、頻率可透過參數調整,避免造成用戶眩暈。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved