[英]How do you make something to appear slowly on a page using Javascript?
有没有更简单的方法可以使某些内容缓慢显示在网页上? 我试图逐渐增加CSS的不透明度,但是每个浏览器的(不透明度)标记都不同。 是否每个人都使用众所周知的Javascript函数? 还是有任何CSS标签?
[edit]感谢Jquery的建议。 还有其他选择吗? 我的页面很小,不想添加Jquery。 (我知道Google托管它)
啊! 这里的每个JS开发人员似乎都染上了jqueryitis!
如果您尚未受到感染或仍然想摆脱它,这是一个小功能,可以跨浏览器执行:)
function appear(elm, i, step, speed){
var t_o;
//initial opacity
i = i || 0;
//opacity increment
step = step || 5;
//time waited between two opacity increments in msec
speed = speed || 50;
t_o = setInterval(function(){
//get opacity in decimals
var opacity = i / 100;
//set the next opacity step
i = i + step;
if(opacity > 1 || opacity < 0){
clearInterval(t_o);
//if 1-opaque or 0-transparent, stop
return;
}
//modern browsers
elm.style.opacity = opacity;
//older IE
elm.style.filter = 'alpha(opacity=' + opacity*100 + ')';
}, speed);
}
出现
appear(document.getElementsByTagName('DIV')[0], 0, 5, 40);
消失
appear(document.getElementsByTagName('DIV')[0], 100, -5, 40);
轻松使用Jquery:
$("#myElementID").fadeIn("slow");
亲爱的主! 是的,我想我们大多数人都了解jQuery,谢谢。
今天,不透明度设置起来并不那么复杂。 现在只有IE需要特殊帮助。 请参阅此答案,以获取一些简单的,与时间无关的普通JavaScript衰减代码。
如果您可以使用jQuery,则animate()
函数会帮助您。
$('your_selector').animate({opacity: 0.25}, 5000, function() {
// Animation complete.
});
或者您可以使用fadeIn
$('your_selector').fadeIn('slow', function() {
// Animation complete
});
YUI还具有动画功能,仅允许您包含必需的模块,这将减少加载时间。
您fadein
fadeout
jQuery。 例如, jQuery('#ID').fadeout()
将使以'ID'作为其ID的元素淡出(慢慢消失),
我建议使用jQuery。 您将必须使用fadeIn()函数。 此处有详细说明: http : //api.jquery.com/fadeIn/ 。 从jQuery库开始后,我很少使用纯Javascript。
您也可以使用slideDown。
$("#YourID").slideDown("slow");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.