实现方法:1、使用querySelector()获取指定元素对象;2、使用“元素对象.style.opacity = Math.sin(2 * Math.PI * time)”语句来控制淡入或淡出效果;3、使用递归的方式实现不停淡入淡出。
/2021/10/2be1a51f.jpg
本教程操作环境: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); });
效果图:
/2021/10/55096704.gif" /2021/10/55096704.gif" alt="1.gif
【推荐学习:javascript高级教程】
以上就是javascript怎么实现不停淡入淡出的详细内容,更多请关注北冥有鱼其它相关文章!
本文转载自【PHP中文网】,希望能给您带来帮助,苟日新、日日新、又日新,生命不息,学习不止。