discuz 侧边栏添加一个新闻小工具

[复制链接]
aoki(UID:59) 发表于 2025-2-18 19:49:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×


discuz 侧边栏添加一个新闻小工具

discuz 侧边栏添加一个新闻小工具

  1. <ul id="newsList" class="news-list"></ul>
  2. <div class="micro-word" id="microWord"></div>

  3. <script>
  4.     // 获取新闻数据的函数
  5.     async function fetchNews() {
  6.         try {
  7.             const response = await fetch("https://60s.viki.moe/");
  8.             const data = await response.json();
  9.             displayNews(data.data);
  10.         } catch (error) {
  11.             console.error("Error fetching news:", error);
  12.             document.getElementById("microWord").innerText = "加载新闻失败,请稍后再试。";
  13.             document.getElementById("microWord").classList.add("error");
  14.         }
  15.     }

  16.     // 显示新闻的函数
  17.     function displayNews(newsArray) {
  18.         const newsList = document.getElementById("newsList");
  19.         const microWord = document.getElementById("microWord");

  20.         // 清空现有内容
  21.         newsList.innerHTML = "";
  22.         microWord.innerHTML = "";

  23.         // 提取新闻和微语
  24.         const newsItems = newsArray.filter(item => !item.includes("【微语】")).slice(0, 6); // 限制前10条
  25.         const microText = newsArray.find(item => item.includes("【微语】"));

  26.         // 添加新闻到列表
  27.         newsItems.forEach(item => {
  28.             const li = document.createElement("li");
  29.             li.textContent = item;
  30.             newsList.appendChild(li);
  31.         });

  32.         // 显示微语
  33.         if (microText) {
  34.             microWord.textContent = microText;
  35.         }
  36.     }

  37.     // 页面加载时调用获取新闻
  38.     window.onload = fetchNews;
  39. </script>
  40. <style>
  41.     /* 新闻列表样式 */
  42.     .news-list {
  43.         list-style: none;
  44.         padding: 0;
  45.         margin: 0;
  46.     }

  47.     .news-list li {
  48.         padding: 10px 0;
  49.         border-bottom: 1px solid #ddd;
  50.     }

  51.     .news-list li:last-child {
  52.         border-bottom: none;
  53.     }

  54.     /* 微语样式 */
  55.     .micro-word {
  56.         margin-top: 20px;
  57.         font-style: italic;
  58.         color: #666;
  59.         text-align: center;
  60.     }

  61.     /* 加载失败提示样式 */
  62.     .micro-word.error {
  63.         color: #d00;
  64.         font-weight: bold;
  65.         text-align: center;
  66.     }
  67. </style>
复制代码
狐狸导航:https://www.foxccs.cn/
全部回复0 显示全部楼层
暂无回复,精彩从你开始!

快速回帖

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于楼主

学步前行
  • 主题

    82
  • 回答

    32
  • 积分

    398
虚位以待,此位置招租
虚位以待,此位置招租

商务推广

    此位置招租 此位置招租 此位置招租 此位置招租 此位置招租 此位置招租 此位置招租 此位置招租 此位置招租 此位置招租
最新热评 加载中...