html页面帮忙写一个动态获取页面新闻时间并标识为时效状态的js
时间: 2024-09-12 17:12:19 浏览: 53
用HTML+CSS做一个学生抗疫感动专题网页设计作业网页
要在HTML页面中动态获取页面新闻的时间并标识为时效状态,可以使用JavaScript来实现。以下是一个简单的示例代码,该代码会遍历页面上所有新闻元素,获取它们的时间戳,并根据当前时间判断新闻的时效性,然后在每个新闻元素上添加相应的时效状态标识。
首先,在HTML页面中,你需要有一个包含新闻时间的元素,例如:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>新闻时效状态</title>
</head>
<body>
<article>
<h2>新闻标题1</h2>
<p class="news-time">发布时间: 2023-04-01 10:00:00</p>
<!-- 新闻内容 -->
</article>
<article>
<h2>新闻标题2</h2>
<p class="news-time">发布时间: 2023-04-01 12:30:00</p>
<!-- 新闻内容 -->
</article>
<!-- 其他新闻文章 -->
<script src="news时效.js"></script>
</body>
</html>
```
然后,创建一个名为 `news时效.js` 的JavaScript文件,并添加以下代码:
```javascript
document.addEventListener('DOMContentLoaded', function() {
// 获取所有新闻元素
var newsElements = document.querySelectorAll('article');
// 当前时间
var currentTime = new Date();
// 遍历新闻元素
newsElements.forEach(function(news) {
// 获取新闻发布时间元素
var newsTimeElement = news.querySelector('.news-time');
if (!newsTimeElement) return;
// 获取新闻发布时间
var newsTime = newsTimeElement.textContent.match(/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/)[0];
var newsDate = new Date(newsTime);
// 根据当前时间判断时效性
var时效状态 =判断时效性(newsDate, currentTime);
// 在新闻元素上添加时效状态标识
newsTimeElement.insertAdjacentHTML('afterend', `<span> - ${时效状态}</span>`);
});
});
function 判断时效性(newsDate, currentTime) {
// 设定时效性判断的时间阈值,例如1天
var timeThreshold = 24 * 60 * 60 * 1000;
// 判断新闻是否为当天发布的
if (currentTime.toDateString() === newsDate.toDateString()) {
return '今日新闻';
} else if (currentTime - newsDate > timeThreshold) {
return '过时新闻';
} else {
return '及时新闻';
}
}
```
在这段代码中,首先通过`DOMContentLoaded`事件确保页面加载完成后执行代码。然后,我们获取所有的新闻元素,并遍历它们来获取每个新闻的发布时间。通过比较新闻发布时间和当前时间,使用`判断时效性`函数来确定新闻的时效状态,并在每个新闻元素上添加相应的状态标识。
阅读全文