当前位置:   article > 正文

很哇塞的网页特效之字符雨特效_字母雨代码网站

字母雨代码网站

        本篇分享的字符雨特效主要通过JS实现。

        实现步骤:

        1、页面分为50列( 可根据样式中设置的字体大小调整列数,确保铺满整个页面),每列随机选取50个字符。

        2、字符置于 <span> 标签中展示,设置span样式 display:block 确保字符竖向按列排布。

        3、初始随机指定每一列中设置下雨效果的字符列表长度和起始位子,即雨点起始位置和雨线长度。

        4、在requestAnimationFrame中设置雨线字符颜色,改变雨线位置,实现下雨效果。

        实际效果:

     关键代码:

        在requestAnimationFrame中设置循环:

  1. function loop(fn, delay) {
  2. let stamp = Date.now();
  3. function _loop() {
  4. if (Date.now() - stamp >= delay) {
  5. fn(); stamp = Date.now();
  6. }
  7. requestAnimationFrame(_loop);
  8. }
  9. requestAnimationFrame(_loop);
  10. }

        改变雨线位置:

  1. //通过移动下标指定改变雨线位置
  2. move() {
  3. this.body = [];
  4. let { offset, size } = this.options;
  5. for (let i = 0; i < size; ++i) {
  6. let item = this.list[offset + i - size + 1];
  7. this.body.push(item);
  8. }
  9. // 每次移动后雨线起始位置向后移,超过竖列长度后自动回到顶部
  10. this.options.offset = (offset + 1) % (this.list.length + size - 1);
  11. }

        设置雨线颜色:

  1. //设置雨线部分各字符的颜色样式
  2. setColor() {
  3. this.body.forEach((c, i) => {
  4. if (c) {
  5. c.element.style = `
  6. color: hsl(136, 100%, ${85 / this.body.length * (i + 1)}%)
  7. `;
  8. if (i == this.body.length - 1) {
  9. // 雨线最底部点高亮显示
  10. c.refreshText();
  11. c.element.style = `
  12. color: hsl(136, 100%, 85%);
  13. text-shadow:
  14. 0 0 .5em #fff,
  15. 0 0 .5em currentColor;
  16. `;
  17. }
  18. }
  19. })
  20. }

        代码下载:很哇塞的网页特效之字符雨特效-网页制作文档类资源-CSDN下载

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/303718
推荐阅读
相关标签
  

闽ICP备14008679号