js实现导航栏上下动画效果

obj.currentStyle[name] 与 getComputedStyle(obj,false)[name],一个是支持IE 一个支持FE
完美运动js插件,能根据传进来的值,进行匹配,从而得到了理想的运动效果,也就是运行逻辑。
实现上下动画动画效果就是控制元素height的值,通过不断的修改该值,就能呈现所谓的动画效果,这里就需要用到定时器
定时器有两种
重复不断的定时器 setInterval(fn,time);
延时只在设定时间后只出现一次的定时器 setTimeout(fn,time)
在遍历传进的每一个值,需要使用一个boolean来控制是否完成解析,解析成功则返回true,结束定时器,返回false,知道返回true位置


function getStyle(obj, attr)
{
   
	if(obj.currentStyle)
	{
   
		return obj.currentStyle[attr];
	}
	else
	{
   
		return getComputedStyle(obj, false)[attr];
	}
}
function startMove(obj,json,fnEnd){
   
	if(obj.timer){
   
		clearInterval(obj.timer);
	};
	obj.timer=setInterval(function(){
   
		var bStop = true; //假设全部找到
		for(var attr in json){
   
			var icurr = 0;
			if(attr=='opacity'){
   //匹配key
				icurr=Math.round(parseFloat(getStyle(obj,attr))*100); //获取元素的属性值
			}else{
   
				icurr=parseInt(getStyle(obj,attr));
			};
			var sPeed = (json[attr]-icurr)/8;
			sPeed=sPeed>0?Math.ceil(sPeed):Math.floor(sPeed);
			if(attr=='opacity'){
   
				obj.style.filter="alpha(opacity:"+(icurr+sPeed)+
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

红豌豆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值