jQuery是一種廣泛使用的JavaScript庫,它為開發人員提供了許多有用的功能和選項。其中一項功能允許我們實現鼠標點擊拖動,使用戶可以以一種直觀的方式移動網頁上的元素。
$(document).ready(function(){ let isDragging = false; let currentX; let currentY; let initialX; let initialY; let xOffset = 0; let yOffset = 0; $('.drag-element').on('mousedown touchstart', function(e) { if (e.type === "touchstart") { initialX = e.touches[0].clientX - xOffset; initialY = e.touches[0].clientY - yOffset; } else { initialX = e.clientX - xOffset; initialY = e.clientY - yOffset; } if (e.target === $('.drag-element')[0]) { isDragging = true; } }); $(document).on('mouseup touchend', function(e) { isDragging = false; xOffset = currentX; yOffset = currentY; }); $(document).on('mousemove touchmove', function(e) { if (isDragging) { e.preventDefault(); if (e.type === "touchmove") { currentX = e.touches[0].clientX - initialX; currentY = e.touches[0].clientY - initialY; } else { currentX = e.clientX - initialX; currentY = e.clientY - initialY; } xOffset = currentX; yOffset = currentY; $('.drag-element').css({ 'transform': 'translate3d(' + currentX + 'px, ' + currentY + 'px, 0)' }); } }); });
這段代碼實現了一個鼠標點擊拖動的效果。當用戶在拖動元素時,我們通過設置CSS轉換屬性來移動元素。我們還使用了一些變量來記錄當前和初始位置,以便我們可以計算偏移量。最后,我們使用處理事件的方法,以便在用戶停止拖動元素時,記錄偏移值。