好久没提问了,今天来提问一下。看看有没有大神来帮助一下的。 New
看图。
这是一个diy的帖子模块,希望让今日发布的内容时间变成红色(图中红框),昨天发布的依然保持当前色。
如:11月16日新的内容日期颜色为红色。11月15日或者之前的日期颜色保持不变。
最终要求效果如下图
当然不希望用到插件。
我知道答案 回答被采纳将会获得1 贡献 已有11人回答 补充一下当前模块的diy模块的代码
<div class="module cl xl xl1"> <ul> 直接发代码循环标签下的不显示了 我补一张图片
首先要获取时间的变量才可以
假设 $slide['dateline'] 是 UNIX 时间戳
<ul class="cl"> <!--{loop $slides $slide}--> <?php $postDate = date('Y-m-d', $slide['dateline']); $isToday = ($postDate === $currentDate); ?> <li> <p style="color: <?php echo $isToday ? 'red' : 'black'; ?>;"> <?php echo $postDate; ?> </p> </li> <!--{/loop}--></ul> 最好是发完整的代码出来 <div class="module cl xl xl1">
<ul>
循环
<li><em>{dateline}</em><a href="{url}" title="{title}"{target}>{title}</a></li>
循环
</ul>
</div> <div class="module cl xl xl1"> <ul> <li><em class="date">{dateline}</em><a href="{url}" title="{title}"{target}>{title}</a></li> </ul></div><script> document.addEventListener('DOMContentLoaded', function() { const currentDate = new Date().toISOString().split('T'); document.querySelectorAll('.date').forEach(function(dateElement) { const dateText = dateElement.textContent.trim(); if (dateText === currentDate) { dateElement.style.color = 'red'; } }); });</script> 尝试了一下,目前没有效果。
在编辑中也修改了几次日期显示效果,都不行呢。 DIY内不支持判断逻辑类的代码的,所以不能达到你的需求 刚才尝试了一下吧script的判断写进了这套模板 当前模块的下方。然后把时间格式改成yyyy-mm-dd就可以正常显示效果了
页:
[1]