(1) Effect accordion
analysis:
(2) basic cushion movement
Next rounding
the reason:
px is a minimum unit recognized by computer, 1px not subdivided down. So if css value 200.5px, when resolving computer will automatically change it to 200px
Note: The value here is not rounding computing, 200.9px last remains 200px
Speed is not decimal rounding needed, so the next rounding
Because the movement from left to right and right-to-left movement is not the same, so it is necessary to determine
(3) moving the right suspension frame buffer
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <Title> Untitled Document </ title> <style> #div1 {width:100px; height:150px; background:red; position:absolute; right:0; bottom:0;} </style> <script> window.onscroll=function () { var oDiv=document.getElementById('div1'); var scrollTop=document.documentElement.scrollTop||document.body.scrollTop; //oDiv.style.top=document.documentElement.clientHeight-oDiv.offsetHeight+scrollTop+'px'; startMove(document.documentElement.clientHeight-oDiv.offsetHeight+scrollTop); }; var timer=null; function startMove(iTarget) { var oDiv=document.getElementById('div1'); clearInterval(timer); timer=setInterval(function (){ var speed=(iTarget-oDiv.offsetTop)/4; speed=speed>0?Math.ceil(speed):Math.floor(speed); if(oDiv.offsetTop==iTarget) { clearInterval(timer); } else { oDiv.style.top=oDiv.offsetTop+speed+'px'; } }, 30); } </script> </head> <body style="height:2000px;"> <div id="div1"></div> </body> </html>
(4)运动应用
(5)多物体运动
核心:1、每个元素添加自定义属性timer‘2、多物体不能共用属性和数值’
多物体淡入淡出
(6)
.