JavaScript中HTML文本的淡入淡出

JavaScript中HTML文本的淡入淡出,javascript,Javascript,我一直在尝试让一些文本从不透明度0淡入到100,但我似乎无法让它正常工作。原始淡出版本的贷记给此人 这是密码 fadeIn = function(id, speed) { var s = document.getElementById(id).style; s.opacity = 0; (function fade() {(s.opacity+= .1)<100?s.display="inline":setTimeout(fade,speed)})(); } fa

我一直在尝试让一些文本从不透明度0淡入到100,但我似乎无法让它正常工作。原始淡出版本的贷记给此人

这是密码

fadeIn = function(id, speed) {
    var s = document.getElementById(id).style;
    s.opacity = 0;
    (function fade() {(s.opacity+= .1)<100?s.display="inline":setTimeout(fade,speed)})();
}
fadeIn=功能(id、速度){
var s=document.getElementById(id).style;
s、 不透明度=0;

(function fade(){(s.opacity+=.1)我认为有两个问题,1不透明度值在
0…1
not
0..100
之间变化,而且当不透明度为1时,需要停止循环

其次,
s.opacity
返回一个字符串,因此由于您使用的是
+
运算符,因此需要将值转换为字符串,否则将执行字符串连接

fadeIn=功能(id、速度){
var s=document.getElementById(id).style;
s、 不透明度=0;
(函数fade(){
(s.opacity=+s.opacity+.1)>=1?s.display=“inline”:设置超时(淡入度、速度)
})();
}
fadeIn('s',500)

asdfsadf
您所要做的就是设置一个间隔,然后以您的速度/100为增量数到100

功能fadeIn(id、速度){
变量最大值=100,计数=0;
var增量=速度/最大值;
var obj=document.getElementById(id);
var interval=setInterval(函数(){
obj.style.opacity=(计数/最大值);
如果(计数=最大值){
间隔时间;
}
计数++;
},增量);
}
#褪色{
不透明度:0;
}
让我淡入

淡入
是否允许在任务中使用
jQuery
或其他方法?我有点想避免使用外部库,但我知道这会让这变得更容易。我想要一个香草JavaScript解决方案。是的。它应该是
$('#“+id)。淡出(2000)
其中2000是2秒:)以防万一你会使用它。将来我在更多地使用JQuery时一定会使用它。谢谢:)非常有魅力!非常感谢!