如何实现图片抖动效果
生活随笔
收集整理的這篇文章主要介紹了
如何实现图片抖动效果
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
需求:點擊圖片時,圖片會左右抖動,也可以上下抖動。
具體代碼如下:
(推薦教程:CSS教程)
html:
<img src="./img/19.jpg" alt="" id="img1">
css:
img {
position: absolute;
top: 200px;
left: 300px;
}
js:
<script src="doMove.js"></script>
<script>
window.onload = function(){
var img1 = document.getElementById('img1');
img1.onclick = function(){
// 先獲得img1的原來left值,在此基礎上進行抖動;parseInt()是把300px的單位去掉只留數字
var pos = parseInt(getStyle(img1,'left'));
var arr = [];//20,-20,18,-18,16,-16,...存放抖動的頻率
var timer = null;//開啟定時器
var num = 0;//一般只要有數組,那么必定有數字跟著變化;數組的第0個,第1個...
for(var i =20;i>0;i-=2){//左右抖動的幅度第一次為20px,然后減2
arr.push(i,-i);
}
arr.push(0);
// alert(arr);//測試一下
// 有抖動的頻率之后,要開啟定時器讓它進行抖動
clearInterval(timer);//開啟定時器之前要先把定時器關閉,防止連續多次點擊
timer = setInterval(function(){
img1.style.left = pos + arr[num] + 'px';//原來的位置pos,加上數組中每一個數字
num++;
if(num === arr.length){//如果數字等于數組的長度(就是全部抖完了),關閉定時器
clearInterval(timer);
}
},50);
}
}
</script>
說明:
1、要先引入我們原來封裝好的動畫函數doMove.js,getStyle()函數就是這個函數里面的函數;
2、parseInt( )是把300px的單位去掉只留數字300;
3、上下抖動,只要把left改為top就可以。
總結
以上是生活随笔為你收集整理的如何实现图片抖动效果的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SEO内部链接系统的优化诀窍,你必须要学
- 下一篇: 学习mysql不是内部命令的错误解决方案