12下一页
返回列表 发帖
查看: 772|回复: 19

[已解决] 好久没提问了,今天来提问一下。看看有没有大神来帮助一下的。

12

主题

131

回帖

210

积分

炉火纯青

贡献
8 点
金币
18 个
发表于 2024-11-16 15:13:07 | 查看全部 |阅读模式
QQ20241116-150802.png


看图。
这是一个diy的帖子模块,希望让今日发布的内容时间变成红色(图中红框),昨天发布的依然保持当前色。

如:11月16日新的内容日期颜色为红色。11月15日或者之前的日期颜色保持不变。

最终要求效果如下图
QQ20241116-151237.png


当然不希望用到插件。
1 贡献

最佳答案

  1. <div class="module cl xl xl1">
  2.     <ul>
  3.         <li><em class="date">{dateline}</em><a href="{url}" title="{title}"{target}>{title}</a></li>
  4.     </ul>
  5. </div>

  6. <script>
  7.     document.addEventListener('DOMContentLoaded', function() {
  8.         const currentDate = new Date().toISOString().split('T')[0];
  9.         document.querySelectorAll('.date').forEach(function(dateElement) {
  10.             const dateText = dateElement.textContent.trim();
  11.             if (dateText === currentDate) {
  12.                 dateElement.style.color = 'red';
  13.             }
  14.         });
  15.     });
  16. </script>
复制代码
回复

使用道具 举报

12

主题

131

回帖

210

积分

炉火纯青

贡献
8 点
金币
18 个
 楼主| 发表于 2024-11-16 15:15:39 | 查看全部
补充一下当前模块的diy模块的代码
  1. <div class="module cl xl xl1">
  2.     <ul>
  3.         [loop]
复制代码
回复

使用道具 举报

12

主题

131

回帖

210

积分

炉火纯青

贡献
8 点
金币
18 个
 楼主| 发表于 2024-11-16 15:17:25 | 查看全部
1544765 发表于 2024-11-16 15:15
补充一下当前模块的diy模块的代码

直接发代码循环标签下的不显示了 我补一张图片
QQ20241116-151643.png

回复

使用道具 举报

58

主题

296

回帖

411

积分

应用开发者

贡献
7 点
金币
9 个
QQ
发表于 2024-11-16 15:18:11 | 查看全部
首先要获取时间的变量才可以
假设 $slide['dateline'] 是 UNIX 时间戳
  1. <ul class="cl">
  2.     <!--{loop $slides $slide}-->
  3.     <?php
  4.     $postDate = date('Y-m-d', $slide['dateline']);
  5.     $isToday = ($postDate === $currentDate);
  6.     ?>
  7.     <li>
  8.         <p style="color: <?php echo $isToday ? 'red' : 'black'; ?>;">
  9.             <?php echo $postDate; ?>
  10.         </p>
  11.     </li>
  12.     <!--{/loop}-->
  13. </ul>
复制代码
回复

使用道具 举报

58

主题

296

回帖

411

积分

应用开发者

贡献
7 点
金币
9 个
QQ
发表于 2024-11-16 15:19:06 | 查看全部
最好是发完整的代码出来
回复

使用道具 举报

12

主题

131

回帖

210

积分

炉火纯青

贡献
8 点
金币
18 个
 楼主| 发表于 2024-11-16 15:19:33 | 查看全部
bug八阿哥 发表于 2024-11-16 15:19
最好是发完整的代码出来

<div class="module cl xl xl1">
    <ul>
    循环
    <li><em>{dateline}</em><a href="{url}" title="{title}"{target}>{title}</a></li>
    循环
    </ul>
</div>
回复

使用道具 举报

58

主题

296

回帖

411

积分

应用开发者

贡献
7 点
金币
9 个
QQ
发表于 2024-11-16 15:21:15 | 查看全部
  1. <div class="module cl xl xl1">
  2.     <ul>
  3.         <li><em class="date">{dateline}</em><a href="{url}" title="{title}"{target}>{title}</a></li>
  4.     </ul>
  5. </div>

  6. <script>
  7.     document.addEventListener('DOMContentLoaded', function() {
  8.         const currentDate = new Date().toISOString().split('T')[0];
  9.         document.querySelectorAll('.date').forEach(function(dateElement) {
  10.             const dateText = dateElement.textContent.trim();
  11.             if (dateText === currentDate) {
  12.                 dateElement.style.color = 'red';
  13.             }
  14.         });
  15.     });
  16. </script>
复制代码
回复

使用道具 举报

12

主题

131

回帖

210

积分

炉火纯青

贡献
8 点
金币
18 个
 楼主| 发表于 2024-11-16 15:27:07 | 查看全部

尝试了一下,目前没有效果。
在编辑中也修改了几次日期显示效果,都不行呢。
回复

使用道具 举报

23

主题

5255

回帖

9386

积分

应用开发者

贡献
498 点
金币
1416 个
QQ
发表于 2024-11-16 15:31:04 | 查看全部
DIY内不支持判断逻辑类的代码的,所以不能达到你的需求
回复

使用道具 举报

12

主题

131

回帖

210

积分

炉火纯青

贡献
8 点
金币
18 个
 楼主| 发表于 2024-11-16 15:44:08 | 查看全部
湖中沉 发表于 2024-11-16 15:31
DIY内不支持判断逻辑类的代码的,所以不能达到你的需求

刚才尝试了一下吧script的判断写进了这套模板 当前模块的下方。然后把时间格式改成yyyy-mm-dd就可以正常显示效果了
回复

使用道具 举报

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

本版积分规则

  • 关注公众号
  • 有偿服务微信
  • 有偿服务QQ

手机版|小黑屋|Discuz! 官方交流社区 ( 皖ICP备16010102号 |皖公网安备34010302002376号 )|网站地图|star

GMT+8, 2025-5-1 12:43 , Processed in 0.095179 second(s), 33 queries .

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2025 Discuz! Team.

关灯 在本版发帖
有偿服务QQ
有偿服务微信
返回顶部
快速回复 返回顶部 返回列表