如题所述
第1个回答 2015-11-13
1、用jquery的话,fadeIn ,fadeOut , fadeToggle
2、配合css3,用animation或transform变化 opacity 在 0~1间变换就行
3、用setTimeout或requestAnimationFrame 变换 opacity
2、配合css3,用animation或transform变化 opacity 在 0~1间变换就行
3、用setTimeout或requestAnimationFrame 变换 opacity
第2个回答 推荐于2016-05-28
给你一个之前写的淡入淡出的函数
var $fade={id:function(id){return document.getElementById(id)},
set:function(o,v){o.filters ? o.style.filter='alpha(opacity='+v+')':o.style.opacity=v/100},
in:function(elem, speed, opacity){
speed = speed || 20;
opacity = opacity || 100;
elem.style.display = 'block';
$fade.set(elem, 0);
var val=0;
(function(){
$fade.set(elem, val);
val += 5;
if(val<=opacity){setTimeout(arguments.callee, speed)}
})();
},
out:function(elem, speed, opacity){
speed = speed || 20;
opacity = opacity || 0;
var val = 100;
(function(){
$fade.set(elem, val);
val-=5;
if(val>=opacity){
setTimeout(arguments.callee, speed)
}else if(val<0){
elem.style.display='none'
}
})();
}
}
var obj=$fade.id('output');
$fade.out(obj);
$fade.in()是淡入,$fade.out()是淡出,把目标元素当做参数传过去