当前位置:首页 > 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;
    });
}

错误处理

添加错误处理逻辑:

js实现新闻

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
分享给朋友:

相关文章

jquery.js

jquery.js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,用于简化 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它的设计宗旨是“Write Less, Do Mor…

js 实现vue

js 实现vue

Vue.js 的基本实现 在 JavaScript 中实现 Vue.js 的核心功能,可以通过数据绑定、响应式系统和虚拟 DOM 来实现。以下是实现 Vue.js 核心功能的简化版本。 数据响应式系…

js防抖和节流实现

js防抖和节流实现

防抖(Debounce)的实现 防抖的核心思想是在事件被触发后,延迟执行回调函数。如果在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口大小调整等场景。 function debounce…

js实现正交

js实现正交

正交的概念 正交在数学和计算机科学中通常指两个向量垂直或线性无关。在编程中,正交性常被用于设计模块化、低耦合的系统。 向量正交判断 判断两个向量是否正交可以通过点积是否为0来实现: functio…

js实现 功能

js实现 功能

在 JavaScript 中实现功能通常涉及多个关键步骤,具体取决于功能需求。以下是常见功能的实现方法和示例: 基本功能实现 使用函数封装逻辑是最直接的方式。例如,实现一个计算两数之和的函数: f…

js进度条实现

js进度条实现

使用HTML和CSS创建基础结构 在HTML中创建一个容器元素用于显示进度条,通常使用<div>元素。CSS用于设置进度条的样式,包括宽度、高度、颜色和圆角等属性。 <div cl…