要实现五星好评的效果,我们可以使用jQuery来实现,我们需要创建一个HTML页面,包含五个星星图标和一个提交按钮,我们将使用jQuery来控制星星的点击事件,当用户点击某个星星时,该星星的颜色会发生变化,同时计算用户的评分,当用户点击提交按钮时,将评分显示在页面上。
以下是详细的技术教学:
1、创建HTML页面
我们需要创建一个HTML页面,包含五个星星图标和一个提交按钮,可以使用以下代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF8"> <meta name="viewport" content="width=devicewidth, initialscale=1.0"> <title>五星好评</title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/fontawesome/4.7.0/css/fontawesome.min.css"> <style> .star { cursor: pointer; fontsize: 24px; color: #ccc; } .star:hover { color: #f39c12; } </style> </head> <body> <div class="stars"> <i class="fa fastar"></i> <i class="fa fastar"></i> <i class="fa fastar"></i> <i class="fa fastar"></i> <i class="fa fastar"></i> </div> <button id="submit">提交</button> <p id="result"></p> <script src="https://code.jquery.com/jquery3.6.0.min.js"></script> <script src="main.js"></script> </body> </html>
2、编写jQuery代码
接下来,我们需要编写jQuery代码来控制星星的点击事件,我们需要为每个星星添加点击事件监听器,当用户点击某个星星时,该星星的颜色会发生变化,同时计算用户的评分,可以使用以下代码:
$(document).ready(function () { let stars = $(".star"); let rating = 0; let result = $("#result"); let submit = $("#submit"); stars.on("click", function () { $(this).addClass("active").siblings().removeClass("active"); rating = $(this).index() + 1; }); submit.on("click", function () { result.text("您的评分是:" + rating); }); });
在上面的代码中,我们首先获取了所有的星星、结果和提交按钮的元素,我们为每个星星添加了点击事件监听器,当用户点击某个星星时,我们给该星星添加了一个名为active
的类,同时移除了其他星星的active
类,接着,我们计算了用户的评分,即被点击的星星的索引加1,我们为提交按钮添加了一个点击事件监听器,当用户点击提交按钮时,我们将评分显示在页面上。
3、添加CSS样式
为了使五星好评看起来更加美观,我们可以添加一些CSS样式,可以使用以下代码:
.star { cursor: pointer; fontsize: 24px; color: #ccc; } .star:hover { color: #f39c12; } .star.active { color: #f39c12; }
在上面的代码中,我们为active
类的星星添加了一个颜色属性,使其变为黄色,我们还为鼠标悬停在星星上时添加了一个颜色属性,使其变为黄色,这样,当用户点击某个星星时,该星星的颜色会变为黄色,表示用户已经选择了该星级,当鼠标悬停在其他星星上时,这些星星的颜色也会变为黄色,表示用户可以切换到其他星级。
原创文章,作者:酷盾叔,如若转载,请注明出处:https://www.kdun.com/ask/373142.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复