js實(shí)現(xiàn)點(diǎn)擊掉落特效 先看看效果圖
話不多說代碼
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
<!DOCTYPE HTML> <html> <head> <meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" > <title>無標(biāo)題文檔</title> <script src= "jquery.js" ></script> <script> window.onload = function () { var str = '' ; var len = 20; var aDiv = document.getElementsByTagName( 'div' ); var timer = null ; var num = 0; for ( var i=0; i<len; i++ ) { str += '<div style="width:50px; height:50px; background:red; position:absolute; top:0px; left:' + i*60 + 'px;"></div>' ; } document.body.innerHTML = str; document.onclick = function () { clearInterval( timer ); timer = setInterval( function (){ DM( aDiv[num], 'top' , 23, 500 ); num ++; if ( num === len ) { clearInterval( timer ); } }, 100 ); }; }; </script> </head> <body> </body> </html> |
我這里引用了封裝方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
function DM( obj, attr, dir, target, endFn ) { dir = parseInt(getStyle( obj, attr )) < target ? dir : -dir; clearInterval( obj.timer ); obj.timer = setInterval( function () { var speed = parseInt(getStyle( obj, attr )) + dir; // 步長 if ( speed > target && dir > 0 || speed < target && dir < 0 ) { speed = target; } obj.style[attr] = speed + 'px' ; if ( speed == target ) { clearInterval( obj.timer ); /* if ( endFn ) { endFn(); } */ endFn && endFn(); } }, 30); } |
到此這篇關(guān)于JS實(shí)現(xiàn)點(diǎn)擊掉落特效的文章就介紹到這了,更多相關(guān)js點(diǎn)擊掉落內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://blog.csdn.net/qq_38259997/article/details/103764058