实现网页收藏功能:使用LocalStorage存储卡片数据

实现网页收藏功能:使用localstorage存储卡片数据

本文档将指导你如何使用 JavaScript 和 LocalStorage 实现一个简单的网页收藏功能。通过该功能,用户可以将网页上的卡片添加到收藏夹,并在独立的 “favorites.html” 页面中查看收藏的卡片列表。本文将提供详细的代码示例和步骤,帮助你理解和实现这一功能。

使用 LocalStorage 实现收藏功能

要实现将卡片添加到收藏夹并在另一个页面显示的功能,我们需要在客户端存储卡片信息。由于不需要服务器端数据库,LocalStorage 是一个合适的选择。LocalStorage 允许我们在用户的浏览器中存储键值对,即使关闭浏览器,数据也会保留。

基本思路:

添加按钮事件: 为每个卡片上的“添加”按钮绑定一个 JavaScript 函数。存储卡片数据: 当点击“添加”按钮时,将卡片的相关信息(例如,标题、图片 URL、内容)存储到 LocalStorage 中。在收藏页面显示: 在 favorites.html 页面加载时,从 LocalStorage 中读取已存储的卡片信息,并动态生成 HTML 代码来显示这些卡片。

详细步骤:

1. HTML 结构 (index.html):

首先,确保你的 HTML 结构包含卡片和“添加”按钮。

            Card Example            
Sample Image Card Title

I am a very simple card. I am good at containing small bits of information. I am convenient because I require little markup to use effectively.

注意:

onclick=”addToFavorites(this)” 将按钮自身传递给 addToFavorites 函数,方便获取卡片信息。引入了 Materialize CSS 框架,用于美化卡片样式 (可选)。

2. JavaScript 代码 (script.js):

创建 script.js 文件,并编写以下代码:

Clipfly Clipfly

一站式AI视频生成和编辑平台,提供多种AI视频处理、AI图像处理工具。

Clipfly 129 查看详情 Clipfly

function addToFavorites(button) {    // 获取卡片元素    const card = button.closest('.card');    // 获取卡片信息    const imageSrc = card.querySelector('.card-image img').src;    const cardTitle = card.querySelector('.card-title').textContent;    const cardContent = card.querySelector('.card-content p').textContent;    // 从 localStorage 中获取现有的收藏夹    let favorites = JSON.parse(localStorage.getItem('favorites')) || [];    // 创建卡片对象    const cardData = {        imageSrc: imageSrc,        cardTitle: cardTitle,        cardContent: cardContent    };    // 将卡片添加到收藏夹    favorites.push(cardData);    // 将更新后的收藏夹保存回 localStorage    localStorage.setItem('favorites', JSON.stringify(favorites));    alert('Card added to favorites!'); // 可选:提示用户}

代码解释:

addToFavorites(button) 函数接收点击的按钮元素。button.closest(‘.card’) 向上查找最近的包含 .card 类的父元素,即卡片元素。从卡片元素中提取图片 URL、标题和内容。localStorage.getItem(‘favorites’) 从 LocalStorage 中获取名为 “favorites” 的数据。如果不存在,则返回 null。JSON.parse() 将从 LocalStorage 获取的 JSON 字符串转换为 JavaScript 数组。如果获取的数据为 null,则使用 || [] 创建一个空数组。创建一个包含卡片信息的 cardData 对象。将 cardData 对象添加到 favorites 数组中。JSON.stringify() 将 favorites 数组转换为 JSON 字符串。localStorage.setItem(‘favorites’, JSON.stringify(favorites)) 将 JSON 字符串保存到 LocalStorage 中,键名为 “favorites”。(可选) 显示一个提示信息,告知用户卡片已添加到收藏夹。

3. favorites.html 页面:

创建 favorites.html 文件,用于显示收藏的卡片。

            Favorites        

Favorites

// 从 localStorage 中获取收藏夹 const favorites = JSON.parse(localStorage.getItem('favorites')) || []; // 获取容器元素 const container = document.getElementById('favorites-container'); // 遍历收藏夹,并动态生成卡片 favorites.forEach(card => { const cardDiv = document.createElement('div'); cardDiv.classList.add('col', 's12', 'm6'); cardDiv.innerHTML = `
Favorite Image ${card.cardTitle}

${card.cardContent}

`; container.appendChild(cardDiv); });

代码解释:

从 LocalStorage 中获取名为 “favorites” 的数据,并将其解析为 JavaScript 数组。获取 id 为 favorites-container 的容器元素。使用 forEach 循环遍历 favorites 数组。对于每个卡片对象,动态创建一个 div 元素,并设置其 class 为 col s12 m6 (用于 Materialize CSS 的响应式布局)。使用模板字符串动态生成卡片的 HTML 代码,并将卡片信息插入到相应的位置。将生成的卡片 div 元素添加到 favorites-container 容器中。

注意事项:

LocalStorage 存储的数据是字符串,因此需要使用 JSON.stringify() 将 JavaScript 对象转换为 JSON 字符串,并使用 JSON.parse() 将 JSON 字符串转换为 JavaScript 对象。LocalStorage 的存储空间有限,通常为 5MB 或 10MB。因此,不适合存储大量数据。LocalStorage 存储的数据是明文存储在用户的浏览器中,因此不适合存储敏感信息。本示例使用了 Materialize CSS 框架,用于美化卡片样式。你可以根据自己的需要选择其他的 CSS 框架或自定义样式。

总结:

通过以上步骤,你已经成功实现了一个简单的网页收藏功能。用户可以将网页上的卡片添加到收藏夹,并在独立的 favorites.html 页面中查看收藏的卡片列表。你可以根据自己的需求扩展此功能,例如添加删除收藏的功能、对收藏的卡片进行排序等。

以上就是实现网页收藏功能:使用LocalStorage存储卡片数据的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/748823.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月25日 19:10:06
下一篇 2025年11月25日 19:10:27

相关推荐

  • 稳定币与比特币有什么区别?为什么它更“稳定”?

    稳定币与比特币有什么区别?为什么它更“稳定”? 稳定币与比特币同属加密资产,但两者在价值波动、设计机制、应用场景等方面存在明显差异。了解它们的根本区别,有助于用户在不同市场情境中做出更合理的投资与使用决策。 【权威推荐】2025主流数字货币交易平台合集 Binance币安 官网直达: 安卓安装包下载…

    好文分享 2025年12月8日
    000
  • USDT和USDC哪个好?一文对比市面上主流稳定币

    USDT和USDC哪个好?一文对比市面上主流稳定币 在加密货币市场中,稳定币承担着交易媒介与价值锚定的重要角色,其中以usdt(tether)与usdc(usd coin)最为常见。这两种稳定币均锚定美元,1枚等于1美元,但它们在稳定性、透明度、合规性、链上活跃度等方面却有所不同。 【权威推荐】20…

    2025年12月8日
    000
  • 必安(Binance)交易所app官方正版下载 安卓iOS最新版v2.102.3

    必安(binance)交易所app是一款知名的全球性数字货币交易平台应用程序。它为用户提供了比特币、以太坊以及众多其他加密货币的交易服务,涵盖了现货交易、合约交易等多种功能,并提供了丰富的市场行情数据和分析工具。通过这款官方正版app,用户可以随时随地便捷地进行数字资产的管理和交易。本文将为您提供官…

    2025年12月8日
    000
  • Juventus Fan Token 是什么?JUV 代币价格预测2025-2035年

    juventus fan token(juv)是由意大利顶级足球俱乐部尤文图斯与区块链平台 socios 联合推出的粉丝代币,基于 chiliz chain(以太坊侧链)发行。该代币为持有者提供参与俱乐部事务决策的机会,例如投票选择球衣款式、训练场标语或官方赞助商提名,并通过智能合约确保投票结果的执…

    2025年12月8日
    000
  • PEPE、SHIB与模因币:加密宇宙中的一场疯狂之旅

    pepe和shib模因币正在经历显著的复苏,潜在的突破与新兴竞争者的加入正掀起市场波动。究竟是什么在推动这一波热潮? 模因币市场正处于高热状态,投资者的目光纷纷投向PEPE和SHIB。这些代币早已超越了最初的网络玩笑概念,逐渐演变为加密货币领域的重要角色。从技术突破到新晋挑战者,以下是关于当前模因币…

    2025年12月8日
    000
  • 比特币突破历史高点:监管透明与通往12万美元之路

    比特币在监管顺风中再创新高,监管透明是持续增长的关键吗?让我们一探究竟! 比特币突破历史新高:监管透明与通往12万美元之路 比特币正势如破竹地冲破历史高点,令加密货币爱好者兴奋不已。美国的监管清晰度和机构投资者的兴趣正在推波助澜。我们来深入解析! 比特币牛市:新时代的开启 比特币最近飙升至119,3…

    2025年12月8日
    000
  • 2025必安交易平台一键下载_必安APPv2.102.5版本下载入口

    2025Binance币安 | 一键直达 币安最新v2.102.5版本适用于安卓手机,带来界面优化与功能升级。以下是详细的安装教程,帮助您顺利完成安装。 下载安装步骤 访问官方APK下载链接:打开手机浏览器,输入币安官网或可信平台的APK下载地址,下载v2.102.5版本安装包。允许安装未知来源应用…

    2025年12月8日
    000
  • 最稳定的稳定币是哪些_稳定币稳定性最好的是哪些

    最稳定的稳定币是哪些?稳定性最强的稳定币推荐 在加密资产市场中,稳定币扮演着“锚定资产”的关键角色,用于对抗行情波动、保持资金流通与账户价值的相对稳定。选择稳定性强的稳定币,对于日常交易、资产保值及参与defi生态都至关重要。 【权威推荐】2025主流数字货币交易平台合集 Binance币安 官网直…

    2025年12月8日
    000
  • 必安境内官方安装包下载_必安境内正版APKv2.102.5官方下载地址

    2025Binance币安 | 一键直达 币安最新v2.102.5版本适用于安卓手机,带来界面优化与功能升级。以下是详细的安装教程,帮助您顺利完成安装。 下载安装步骤 访问官方APK下载链接:打开手机浏览器,输入币安官网或可信平台的APK下载地址,下载v2.102.5版本安装包。允许安装未知来源应用…

    2025年12月8日
    000
  • 2025最热门的稳定币是哪些_热门稳定币项目有哪些

    2025最热门的稳定币是哪些?热门稳定币项目一览 随着加密市场结构逐步成熟,稳定币作为流动性载体和资产锚定工具,已成为数字金融生态的核心组成部分。2025年,多个稳定币项目因其技术机制、合规发展和defi适配能力脱颖而出。了解热门稳定币项目有助于把握市场趋势、优化资产配置。 【权威推荐】2025主流…

    2025年12月8日
    000
  • 稳定币前景如何_2025稳定币会暴涨吗

    稳定币前景如何?2025年稳定币会暴涨吗? 稳定币作为加密世界的“桥梁资产”,在多个场景中扮演关键角色。它们结合了法币的稳定属性与区块链的高效传输特性,在全球支付、资产避险和defi金融等领域有着广泛应用。越来越多的金融机构和合规平台正在引入稳定币机制,推动其在现实金融生态中拓展使用边界。 【权威推…

    2025年12月8日
    000
  • 币安binance官方最新版app下载 币安交易所最新版本更新

    币安(binance)是全球知名的数字资产交易平台之一,为用户提供广泛的加密货币交易服务。其官方app设计简洁,功能强大,不仅支持数百种加密货币的现货、合约交易,还提供了理财、staking等多种增值服务。为了方便用户获取最新、最安全的版本,本文将提供币安官方最新版app的下载教程。您可以直接点击本…

    2025年12月8日
    000
  • 币安binance官网app最新安装教程 币安交易所安卓ios app

    币安(binance)是全球知名的数字资产交易平台之一,为用户提供广泛的加密货币交易、理财及资讯服务。其移动应用app功能强大、操作便捷,因其专业的图表工具和丰富的交易对而成为许多投资者的首选工具。本文将为您提供币安app的最新安装教程,并附上官方app下载链接,点击本文中提供的下载链接即可开始下载…

    2025年12月8日
    000
  • 欧易交易所app入口安装 okx官网最新版地址

    欧易okx是一款全球领先的数字资产交易平台,为用户提供多种加密货币的交易服务。它以其丰富的交易品种、安全的系统和流畅的用户体验而受到广大用户的欢迎。本文将为您提供okx官方最新版app的下载入口,您只需点击文中提供的官方下载链接,即可轻松获取并安装最新版本的应用程序,开启您的数字资产之旅。 OKX …

    2025年12月8日
    000
  • Ruvi AI:经过审计的代币,准备成为百倍明星项目

    ruvi ai 是否会成为下一个加密货币热点?凭借其已审计的代币、实际应用场景及强劲的预售表现,这一项目或许蕴藏着高达100倍回报的潜力。 Ruvi AI:经过安全审计的代币,或成百倍回报候选者 在加密货币市场中,投资者始终在寻找下一个爆发点,而 Ruvi AI(RUVI)正逐渐成为焦点。该项目以清…

    2025年12月8日
    000
  • 加密货币、机构兴趣、重新获得动力:有什么热议?

    比特币etf资金流入刷新历史纪录,link、dot和aave等主流山寨币也展现出不俗潜力。机构投资者的兴趣是否正在推动新一轮加密货币热潮?让我们一探究竟! 加密市场重拾动能:机构热情升温 随着机构兴趣的不断上升以及期货市场的活跃表现,加密货币正重新获得市场关注。我们是否正站在下一轮牛市的起点?一起来…

    2025年12月8日
    000
  • 佩佩、加密货币与AI社区:超越迷因

    探索如 pepe 一般的迷因币的演变、ai 驱动型加密项目的兴起,以及社区在数字金融领域中所扮演的重要角色。 朋友们,欢迎来到加密世界的奇妙旅程!让我们一起深入了解迷因币(meme coins)、人工智能(AI)以及推动它们发展的社区力量。这将是一段充满惊喜与变化的旅途,请系好安全带,准备出发! P…

    2025年12月8日
    000
  • 2025最新稳定币种类大全

    2025最新稳定币种类大全 稳定币作为加密货币市场中重要的价值锚定工具,其种类在2025年进一步丰富,逐渐覆盖多种用途场景,包括支付、储值、跨境结算和defi抵押等。稳定币通常锚定法币、商品或其他加密资产,以实现价格相对稳定。 【权威推荐】2025主流数字货币交易平台合集 Binance币安 官网直…

    2025年12月8日
    000
  • 稳定币值得购买嘛_2025稳定币市场行情怎么样

    稳定币值得购买吗?2025年稳定币市场行情解析 稳定币因其价格锚定机制,在数字资产投资中起到重要的避险与交易媒介作用。它们不像比特币或以太坊那样剧烈波动,而是在激烈市场中保持价格稳定,从而被广泛用于资产保值、转账支付和defi参与等场景。 【权威推荐】2025主流数字货币交易平台合集 Binance…

    2025年12月8日
    000
  • 稳定币是什么_一文介绍稳定币来源、行情如何交易

    %ignore_a_1%是什么?一文介绍稳定币来源、行情与交易方式 稳定币是加密货币市场中专门用于对抗价格波动的特殊数字资产。它的核心特点是锚定某种相对稳定的资产,如法币(美元、欧元)、贵金属或其他加密资产,从而实现币值的稳定。 【权威推荐】2025主流数字货币交易平台合集 Binance币安 官网…

    2025年12月8日
    000

发表回复

登录后才能评论
关注微信