实现方法:1、使用querySelector()获取指定元素对象;2、使用“元素对象.style.opacity = Math.sin(2 * Math.PI * time)”语句来控制淡入或淡出效果;3、使用递归的方式实现不停淡入淡出。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
javascript实现不停淡入淡出
只需要找到一个作用域为[0,1]的周期函数。将周期函数的值作为opacity的属性值即可控制淡入或淡出效果。
利用递归即可不停淡入淡出。
实现代码:
<h1 id="text">床前明月光,疑是地上霜。</h1> <script type="text/javascript"> var duration = 3000; var startTime = new Date(); var p = 0; requestAnimationFrame(function f(){ //获取到元素 var el = document.querySelector("#text"); var time = ( new Date - startTime ) / duration; el.style.opacity = Math.sin(2 * Math.PI * time); requestAnimationFrame(f); });
效果图:
【推荐学习:javascript高级教程】