手机
当前位置:查字典教程网 >网页设计 >交互设计教程 >一个简单的纵横向动画效果类
一个简单的纵横向动画效果类
摘要:分享一个简易的动画效果类,思路源于JavaScriptDOM编程艺术,这本书是我JavaScript的启蒙书,看过四篇,至今时常翻起.我想也...

分享一个简易的动画效果类,思路源于JavaScript DOM编程艺术,这本书是我JavaScript的启蒙书,看过四篇,至今时常翻起.我想也是每个JavaScript初学者的必备书.Mr.Think非常推崇这本书,真的很棒!
思路其实很基础,很简单,主要是通过setTimeout()方法,并利用CSS绝对定位来以改变图片位置以实现动画效果.纯DOM方式编写,兼容所有支持JavaScript的浏览器及其他API.
动画效果类核心JavaScript代码:

//@Mr.Think---简易动画类
function moveElem(elemId,final_x,final_y,interval){
    
if (!document.getElementById) return false;
    
if (!document.getElementById(elemId)) return false;
    
var elem=document.getElementById(elemId);
    
if(elem.movement) clearTimeout(elem.movement);
    
if(!elem.style.left) elem.style.left="0px";
    
if(!elem.style.top) elem.style.top="0px";
    
var xpos=parseInt(elem.style.left);
    
var ypos=parseInt(elem.style.top);
    
if(xpos==final_x&&ypos==final_y) return true;
    
if(xpos<final_x){
        
var divisor=Math.ceil((final_x-xpos)/10);
        xpos=xpos+divisor;
    }
    if(xpos>final_x){
         var divisor=Math.ceil((xpos-final_x)
/10);
        
xpos=xpos-divisor;
    
}
    
if(ypos<final_y){
        
var divisor=Math.ceil((final_y-ypos)/10);
        ypos=ypos+divisor;
    }
    if(ypos>final_y){
        var divisor=Math.ceil((ypos-final_y)
/10);
        
ypos=ypos-divisor;
    
}
    
elem.style.left=xpos+"px";
    
elem.style.top=ypos+"px";
    
var repeatelem="moveElem('"+elemId+"',"+final_x+","+final_y+","+interval+")";
    
elem.movement=setTimeout(repeatelem,interval);   
}

【一个简单的纵横向动画效果类】相关文章:

游戏常用的岩石字体效果制作

设计漂亮有趣的转场动效

一组优秀的着陆页网站欣赏

20个简约时尚的网站设计

6个实用技巧帮你提升SKETCH使用效率

15个创意纷呈的灵感发掘网站

20个值得学习的智能手表UI设计案例

5个值得学习的APP交互方式

关于网页UI设计的10条适用法则

16个拥有精美字体的网站

精品推荐
分类导航