基础射流研究…动画
获取元素的样式
getStyle函数
此函数返回的是一个字符串,需要调用parseInt()或者parseFloat()将返回的结果转换为数字值。
动画分类
1.简单动画
2.缓冲动画
3.透明度动画
注意
使用getStyle函数获取的不透明属性是一个浮点数,不能使用parseInt()对其进行转化,应该使用parseFloat()。
将不透明的值乘以100 ,然后调用Math.round(),将浮点数变成整数。(永远不要比较两个浮点数是否相等,结局绝对会出人意料。)
1.如果需要将元素恢复到动画之前的样子,动画的运动方式应该一致,否则在特殊情况下会出一些臭虫。
让图动起来的具体方式方法
一、让div动起来
var oBtn=文档。getelementbyid(' BTN 1 ');
var timer=//设置定时器
oBtn.onclick=函数startMove(){ 0
var oDiv=文档。getelementbyid(' div 1 ');
clearInterval(计时器);//关闭原有的定时器,否则多个定时器会叠加
定时器=设置间隔(函数(){ 0
var iSpeed=3;
if(odiv。offsetleft=208){ 0
clearInterval(计时器);
}else{
奥迪夫。风格。左=odiv。offsetleft是提要“px”;
}
},30);
}
二、图片淡入淡出效果
定义变量计时器=null
var=30;
函数startMove(iTarget,iSpeed){ 0
var oImg=文档。getelementbyid(' img 1 ');
clearInterval(计时器);
定时器=设置间隔(函数(){ 0
if(alpha==iTarget){ 0
clearInterval(计时器);
}else{
alpha=ispeedddocument . title=alpha
奥姆。风格。filter=' alpha(opa city 3360 ' alpha ')';
奥姆。风格。不透明度=alpha/100;
}
},30);
}
窗户。onload=function(){ 0
var oImg=文档。getelementbyid(' img 1 ');
奥姆。onmouseover=function(){ 0
startMove(100,5);
}
奥姆。onmouseout=function(){ 0
startMove(10,-5);
}
三、实现缓动效果
var oBtn=文档。getelementbyid(' BTN 1 ');
var计时器=
oBtn.onclick=函数开始移动(iTarget){ 0
var oDiv=文档。getelementbyid(' div 1 ');
clearInterval(计时器);
定时器=设置间隔(函数(){ 0
var iSpeed=(300-odiv。offset left)/8;//缓动效果
iSpeed=iSpeed 0数学。天花板: ath。地板(ISpeed);//消除小数点值的病菌
文件。title=iSpeed/' Odiv。offsetleft
if(OdiV。offsetLeft==300){ 0
clearInterval(计时器);
}else{
奥迪夫。风格。左=odiv。offsetleft是提要“px”;
}
},30);
}
四、匀速运动停止条件:与目标点无限接近即可
定时器=设置间隔(函数(){ 0
var iSpeed=0;
if(Odiv。offsetlefttarget){ 0
iSpeed=7
}else{
iSpeed=-7
}
if(数学。ABS(odiv。offsetleft-itar get)7){//是否到达终点
clearInterval(计时器);
奥迪夫。风格。top=itar get ' px
}else{
奥迪夫。风格。top=odiv。offsetleft是提要“px”;
}
},30);
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/112077.html