当前位置:首页 > JavaScript

js实现新闻

2026-02-01 01:53:04JavaScript

JavaScript 实现新闻功能

获取新闻数据

使用 fetchaxios 从 API 获取新闻数据。例如:

fetch('https://newsapi.org/v2/top-headlines?country=us&apiKey=YOUR_API_KEY')
  .then(response => response.json())
  .then(data => displayNews(data.articles));

显示新闻列表

创建一个函数来动态生成新闻列表的 HTML:

function displayNews(articles) {
  const newsContainer = document.getElementById('news-container');
  newsContainer.innerHTML = articles.map(article => `
    <div class="news-item">
      <h3>${article.title}</h3>
      <img src="${article.urlToImage}" alt="${article.title}">
      <p>${article.description}</p>
      <a href="${article.url}" target="_blank">Read more</a>
    </div>
  `).join('');
}

添加样式

为新闻列表添加基本样式:

.news-item {
  border: 1px solid #ddd;
  padding: 15px;
  margin-bottom: 20px;
  border-radius: 5px;
}
.news-item img {
  max-width: 100%;
  height: auto;
}

实现搜索功能

添加搜索框和事件监听器:

document.getElementById('search-btn').addEventListener('click', () => {
  const query = document.getElementById('search-input').value;
  fetch(`https://newsapi.org/v2/everything?q=${query}&apiKey=YOUR_API_KEY`)
    .then(response => response.json())
    .then(data => displayNews(data.articles));
});

添加分页功能

实现简单的分页控制:

let currentPage = 1;
function loadPage(page) {
  fetch(`https://newsapi.org/v2/top-headlines?country=us&page=${page}&apiKey=YOUR_API_KEY`)
    .then(response => response.json())
    .then(data => {
      displayNews(data.articles);
      currentPage = page;
    });
}

错误处理

添加错误处理逻辑:

fetch(newsUrl)
  .then(response => {
    if (!response.ok) throw new Error('Network response was not ok');
    return response.json();
  })
  .then(data => displayNews(data.articles))
  .catch(error => {
    console.error('Error:', error);
    document.getElementById('news-container').innerHTML = '<p>Failed to load news. Please try again later.</p>';
  });

js实现新闻

标签: 新闻js
分享给朋友:

相关文章

vue实现新闻

vue实现新闻

Vue 实现新闻功能 使用 Vue 实现新闻功能通常涉及新闻列表展示、新闻详情页、分类筛选等模块。以下是实现的基本思路和代码示例。 新闻列表展示 通过 Vue 组件展示新闻列表,通常使用 v-for…

js实现vue

js实现vue

Vue.js 简介 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。其核心库专注于视图层,易于与其他库或现有项目整合。 实现 Vue.js 的基本步骤 安装 Vue.j…

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的H…

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

js实现分页

js实现分页

分页的基本实现思路 在JavaScript中实现分页功能通常需要结合前端和后端逻辑。前端负责渲染分页控件和处理用户交互,后端负责提供分页数据。 前端分页实现 纯前端分页适用于数据量较小的情况,可以直…

原生js实现轮播图

原生js实现轮播图

基本结构搭建 HTML部分需要包含轮播图容器、图片列表及导航按钮。结构示例如下: <div class="slider-container"> <div class="slid…