Like
当前位置:首页 > JavaScript

js实现like

2026-03-13 16:35:48JavaScript

实现点赞功能(Like)的 JavaScript 方法

前端实现

HTML 结构

<button id="likeButton">Like</button>
<span id="likeCount">0</span>

JavaScript 逻辑

const likeButton = document.getElementById('likeButton');
const likeCount = document.getElementById('likeCount');
let count = 0;

likeButton.addEventListener('click', () => {
    count++;
    likeCount.textContent = count;
    likeButton.disabled = true; // 防止重复点击
});

后端交互实现(使用 Fetch API)

likeButton.addEventListener('click', async () => {
    try {
        const response = await fetch('/api/like', {
            method: 'POST',
            headers: { 'Content-Type': 'application/json' }
        });
        const data = await response.json();
        likeCount.textContent = data.likes;
    } catch (error) {
        console.error('Error:', error);
    }
});

本地存储方案(防止重复点赞)

likeButton.addEventListener('click', () => {
    if (localStorage.getItem('liked') === 'true') return;

    count++;
    likeCount.textContent = count;
    localStorage.setItem('liked', 'true');
});

动画效果增强

likeButton.addEventListener('click', () => {
    likeButton.classList.add('animate');
    setTimeout(() => {
        likeButton.classList.remove('animate');
    }, 300);
});

CSS 部分:

js实现like

.animate {
    transform: scale(1.2);
    transition: transform 0.3s;
}

完整示例(React 版本)

import { useState } from 'react';

function LikeButton() {
    const [likes, setLikes] = useState(0);
    const [liked, setLiked] = useState(false);

    const handleLike = () => {
        if (liked) return;
        setLikes(likes + 1);
        setLiked(true);
    };

    return (
        <button 
            onClick={handleLike}
            style={{ color: liked ? 'red' : 'black' }}
        >
            ♥ {likes}
        </button>
    );
}

标签: jslike
分享给朋友:

相关文章

js实现轮播图

js实现轮播图

基础轮播图实现 使用HTML、CSS和JavaScript实现一个简单的自动轮播图。HTML结构包含一个容器和多个图片项。 <div class="slider"> <div…

js实现倒计时

js实现倒计时

使用 setInterval 实现倒计时 通过 setInterval 定时器每秒更新剩余时间,适用于简单倒计时场景。 function countdown(seconds, callback) {…

jquery.js

jquery.js

jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互等操作。以下是关于 jQuery.js 的核心信息和使用方法: 获…

js树实现

js树实现

树的基本概念 树是一种非线性的数据结构,由节点和边组成。每个节点包含一个值和指向子节点的引用。树的顶部节点称为根节点,没有子节点的节点称为叶节点。 树的实现方式 在JavaScript中,树可以通过…

js钟表实现

js钟表实现

实现JavaScript钟表的基本方法 创建一个简单的JavaScript钟表可以通过以下步骤完成,涵盖数字和模拟两种形式。 数字钟表实现 HTML结构只需一个显示时间的容器: <div i…

js实现路由

js实现路由

js实现路由的方法 在JavaScript中实现路由功能可以通过多种方式完成,以下是几种常见的方法: 使用原生JavaScript实现路由 通过监听window.onhashchange事件来实现基…