jQuery是一個(gè)流行的JavaScript庫(kù),也是前端開(kāi)發(fā)必不可少的工具之一,它可以幫助我們更方便地操作DOM元素和事件。其中,div抖動(dòng)是一種很有趣的效果,可以讓用戶(hù)的眼睛更容易注意到這個(gè)元素,在這篇文章中我們將介紹如何使用jQuery實(shí)現(xiàn)div抖動(dòng)效果。
// 定義shake函數(shù),參數(shù)ele為需要抖動(dòng)的元素 function shake(ele) { // 控制抖動(dòng)強(qiáng)度的變量 var distance = '10px'; // 控制抖動(dòng)速度的變量 var times = 3; // 將jQuery對(duì)象轉(zhuǎn)換為DOM對(duì)象 var $ele = $(ele); // 記錄元素最初的css屬性值 var oldStyle = $ele.attr('style'); // 定義抖動(dòng)動(dòng)畫(huà)序列 $ele.css('position', 'relative').animate({ left: '-=' + distance }, 80).animate({ left: '+=' + 2 * distance }, 80).animate({ left: '-=' + 2 * distance }, 80).animate({ left: '+=' + 2 * distance }, 80).animate({ left: '-=' + distance }, 80, function() { // 動(dòng)畫(huà)完成后恢復(fù)元素最初的css屬性值 $ele.attr('style', oldStyle); }); }
上面是一個(gè)shake函數(shù)的定義,它接收一個(gè)參數(shù)ele表示需要抖動(dòng)的元素,函數(shù)中通過(guò)改變?cè)氐膒osition屬性和使用animate方法定義了一個(gè)抖動(dòng)的動(dòng)畫(huà)序列。在動(dòng)畫(huà)完成后,我們還需要恢復(fù)元素最初的css屬性值,避免對(duì)頁(yè)面布局產(chǎn)生影響。
// 使用示例,點(diǎn)擊按鈕抖動(dòng)元素 $('button').click(function() { var $div = $('#shakeDiv'); shake($div); });
使用示例中我們給一個(gè)按鈕添加了click事件,點(diǎn)擊按鈕后會(huì)抖動(dòng)id為shakeDiv的元素,這里可以根據(jù)實(shí)際需求更改元素的id或選擇器表達(dá)式。通過(guò)這樣的簡(jiǎn)單操作,我們就可以輕松實(shí)現(xiàn)一個(gè)有趣的抖動(dòng)效果。