使用Javascript延迟和淡入文本?
我的页面中有一行我想延迟2秒并淡入。有没有一种不用jQuery的方法 该网站是 文本是时钟下的一小行,文本是通过javascript获得的,这就是为什么我不把它添加到问题中 谢谢使用Javascript延迟和淡入文本?,javascript,delay,fadein,fade,Javascript,Delay,Fadein,Fade,我的页面中有一行我想延迟2秒并淡入。有没有一种不用jQuery的方法 该网站是 文本是时钟下的一小行,文本是通过javascript获得的,这就是为什么我不把它添加到问题中 谢谢 如果我用这个,Alex的功能将不起作用。不透明度是一个字符串,不能与整数成+='d。此函数不起作用。它将无法将字符串正确转换为要添加的整数。textCont.style.opacity='0';textCont.style.opacity=parseInt(textCont.style.opacity)+0.05+'
如果我用这个,Alex的功能将不起作用。不透明度是一个字符串,不能与整数成+='d。此函数不起作用。它将无法将字符串正确转换为要添加的整数。textCont.style.opacity='0';textCont.style.opacity=parseInt(textCont.style.opacity)+0.05+'';会有用的。@Greg这个jsFiddle肯定在做一些有趣的事情:p很可能,你的浏览器没有做一些有趣的事情。在google chrome和webkit中,CSS样式是字符串,必须用作字符串。@Greg它们确实是。但是我从来没有从
样式
对象中读取不透明度
属性。是的,您可以读取。不透明度+=0.05;您还尝试将字符串与整数进行比较:不透明度>=1。@这就是问题所在。不透明是一个字符串。无论如何,在CSS和webkit中,这个函数是跨浏览器的。@Greg我将它设置为数字
0
。我从来没有读过opacity
属性,只需设置它。opacity+=0.05;//这是读取不透明度属性。它只是opacity=opacity+0.05的缩写形式,实际上并没有更改代码。@Greg否,即读取opacity
变量。你在任何地方看到(textCont.style){…}的了吗?哈哈,我看到了,直到你在我发布答案的1分钟后编辑了你的问题。
var textCont = document.getElementById('clock').nextSibling;
textCont.style.opacity = 0;
setTimeout(function() {
var opacity = 0,
animate = setInterval(function() {
opacity += 0.05;
if (opacity >= 1) {
clearInterval(animate);
}
textCont.style.opacity = opacity;
}, 10);
}, 2000);
var d = document.getElementById("box");
function fadeOut(fadeScaler, hertz) {
if (!this instanceof Element) return false;
hertz = (!hertz) ? 60 : hertz; // Approx 60 hertz refresh rate
var opacity = this.style.opacity
opacity = "0";
var t = setInterval(
function() {
opacity = parseInt(opacity) + fadeScaler + '';
if (parseInt(opacity) >= 1)
clearInterval(t);
},
Math.floor(1000 / hertz)); // 1000 miliseconds / hertz = refresh rate
};
fadeOut.apply(d, [.05]);