js生成不同的阅读数分配到每一篇上面,不会因为刷新而变动

在这里插入图片描述
js生成不同的阅读数分配到每一篇上面,不会因为刷新而变动

{%- for article in blog.articles -%}
        <div class="blog-articles__article article">
          {%- render 'article-card',
            article: article,
            media_height: section.settings.image_height,
            media_aspect_ratio: article.image.aspect_ratio,
            show_image: section.settings.show_image,
            show_date: section.settings.show_date,
            show_author: section.settings.show_author,
            show_excerpt: true 
          -%}
        </div>
      {%- endfor -%} 
window.onload = function() {  
  // 获取文章元素  
  const articleElements = document.querySelectorAll('.blog-articles__article');  
  const articleCount = articleElements.length;  
  
  // 从localStorage中获取已存储的分配数字,如果不存在则生成它们  
  const storedNumbers = localStorage.getItem('articleNumbers');  
  let numbers;  
  if (storedNumbers) {  
    numbers = JSON.parse(storedNumbers);  
  } else {  
    // 生成1到10的数组,并重复以匹配文章数量  
    numbers = Array.from({ length: 10 }, (_, i) => i + 1).concat(Array.from({ length: articleCount - 10 }, (_, i) => (i % 10) + 1));  
    // 存储到localStorage中  
    localStorage.setItem('articleNumbers', JSON.stringify(numbers));  
  }  
  
  // 分配数字到文章元素  
  articleElements.forEach((element, index) => {  
    // 假设你有一个元素来显示数字,比如一个span元素,它的类名是'article-number'  
    const numberElement = element.querySelector('.article-number');  
    if (numberElement) {  
      // 获取并显示分配的数字  
      numberElement.textContent = numbers[index];  
    }  
  });  
};
<div class="blog-articles__article article">  
  <span class="article-number"></span> 
  <!-- 这个span将用于显示分配的数字 -->  
  <!-- 其他文章内容 -->  
</div>
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

linlinlove2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值