利用html+css+js实现简单的点赞效果

简介

在很多网站或者APP上,我们都会看到点赞按钮,通过点击按钮,可以向某一条内容表示认可或者喜欢。这种小小的交互,提高了用户对网站或者APP的黏性,同时还能促进用户与内容之间的互动。本文将通过HTML、CSS和JS来实现一个简单的点赞效果,并结合代码来进行解析。

前置知识

在开始代码实现之前,我们需要了解一些前置知识。

HTML

HTML 是一种用于创建网页的标准标记语言。在本文章中,我们将使用HTML来创建网页结构,主要用到的标签有<html><head><body><div><span><button>等。

CSS

CSS(层叠样式表)用于控制Web内容的外观和格式。在本文中,我们使用CSS主要是为了美化界面,主要控制CSS样式的属性有color、background、font-size等。

JS

JavaScript(简称JS)是一种轻量级的编程语言。它可以与HTML和CSS协同工作,通过JS语言可以实现交互性效果。在本文中,我们将使用JS来实现点赞效果,主要用到的知识点有DOM操作、事件监听等。

实现过程

了解了前置知识后,我们可以开始实现点赞效果了。下面将介绍具体的实现过程。

HTML部分

首先,我们需要搭建基本的HTML骨架,如下所示:

<!DOCTYPE html>

<html>

<head>

<title>点赞效果实现</title>

<link rel="stylesheet" href="style.css">

</head>

<body>

<div class="wrapper">

<button class="like-btn">点赞</button>

<span class="like-text">0人已点赞</span>

</div>

<script src="main.js"></script>

</body>

</html>

在上面的代码中,我们首先定义了文档类型,然后定义了一个<html>元素,表示整个HTML页面的根元素,<head>元素和<body>元素都作为<html>元素的子元素。其中<head>元素包含了<title>元素和<link>元素,<body>元素包含了用于显示点赞效果的<div>元素、<button>元素和<span>元素,还有一个用于包含JS脚本的<script>元素。

关于每个元素的作用,我们在下面的代码中会详细说明。

CSS部分

接下来,我们需要对页面进行美化,定义样式文件style.css,代码如下所示:

/* 清除默认样式 */

body {

margin: 0;

padding: 0;

}

/* 页面布局 */

.wrapper {

display: flex; /* 使用flex布局 */

align-items: center; /* 垂直居中 */

justify-content: center; /* 水平居中 */

height: 100vh; /* 充满整个视口 */

}

/* 点赞按钮 */

.like-btn {

cursor: pointer; /* 鼠标悬停样式 */

background-color: #ff7894; /* 背景颜色,渐变配色 */

background-image: linear-gradient(to bottom, #ff7894, #ff5e91);

color: #fff; /* 字体颜色白色 */

border: none; /* 去除边框 */

border-radius: 5px; /* 圆角 */

font-size: 20px; /* 字号 */

padding: 10px 20px; /* 内边距 */

margin-right: 10px; /* 右外边距 */

box-shadow: 0 2px 6px 0px rgba(255, 120, 148, 0.5); /* 阴影效果 */

}

.like-btn:hover {

background-image: linear-gradient(to top, #ff7894, #ff5e91); /* 悬停渐变处理 */

box-shadow: 0 2px 6px 0px rgba(255, 120, 148, 0.9); /* 阴影效果 */

}

/* 点赞数量统计 */

.like-text {

font-size: 16px;

color: #ff5e91;

}

在上面的代码中,我们使用CSS对页面进行了美化和布局,具体实现如下:

1、设置`body`元素的`margin`和`padding`为0,清除默认样式。

2、使用`flex`布局,使页面垂直水平居中,充满整个视口。

3、对点赞按钮进行美化,设置背景颜色渐变、字体颜色为白色、边框为无、圆角为5px、字号为20px、内边距为10px 20px、阴影效果等。

4、设置点赞按钮的悬停状态,悬停时颜色改变,阴影效果增强。

5、设置点赞数量统计文本的样式,字号为16px,颜色为#ff5e91(粉色)。

JS部分

接下来,我们需要使用JS来实现点赞效果。代码如下所示:

const likeBtn = document.querySelector('.like-btn');

const likeText = document.querySelector('.like-text');

let isLiked = false;

let likeCount = 0;

likeBtn.addEventListener('click', () => {

if (!isLiked) {

likeCount++;

isLiked = true;

likeBtn.style.color = '#ff5e91';

likeBtn[xss_clean] = '取消';

likeText[xss_clean] = likeCount + '人已点赞';

} else {

likeCount--;

isLiked = false;

likeBtn.style.color = '#fff';

likeBtn[xss_clean] = '点赞';

likeText[xss_clean] = likeCount ? likeCount + '人已点赞' : '0人已点赞';

}

});

在上面的代码中,我们使用了JS来实现点赞效果,主要实现过程如下:

1、使用`document.querySelector`方法获取按钮和点赞文本元素。

2、定义两个变量`isLiked`和`likeCount`,分别表示当前是否点赞和点赞数量。

3、给点赞按钮添加一个`click`事件监听器,当用户点击按钮时,执行回调函数。

4、在回调函数中,根据当前的点赞状态,进行相应的处理:

- 如果当前没有点赞,点赞数加一,将`isLiked`设置为true,修改按钮和点赞文本的内容,将点赞按钮的字体颜色改为粉色。

- 如果当前已经点赞,点赞数减一,将`isLiked`设置为false,修改按钮和点赞文本的内容,将点赞按钮的字体颜色改为白色。

至此,我们已经完成了点赞效果的实现。

总结

在本文中,我们使用HTML、CSS和JS实现了一个简单的点赞效果,通过代码的实现过程,我们对前端开发中的一些基本要素有了更深入的认识。

- HTML 可以用于创建网页结构,主要包含的标签有<html><head><body><div><span><button>等。

- CSS 可以用于美化页面,控制样式属性,主要控制的属性有`color`、`background`、`font-size`等。

- JS 可以用于实现交互性效果,主要用到的知识点有DOM操作、事件监听等。

本文代码简单易懂,可以作为初学者学习前端基础知识的入门练习。