📅  最后修改于: 2023-12-03 15:32:13.097000             🧑  作者: Mango
星级评分程序是一个常见的用户评价工具,可以用于各类网站及应用程序中。本文将介绍如何使用jQuery框架创建一个简单的星级评分程序,以便开发者可以快速实现此功能。
本程序将使用一组互动的五角星图标,允许用户根据其选择的星星数量给出一个1-5的评分。
在实现这个功能之前,您需要先在您的网站或应用程序中集成jQuery框架。
你可以通过以下代码在你的程序中添加jQuery库:
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
我们将使用以下HTML标记来创建星级评分程序:
<div class="rating">
<span class="star" data-value="1"></span>
<span class="star" data-value="2"></span>
<span class="star" data-value="3"></span>
<span class="star" data-value="4"></span>
<span class="star" data-value="5"></span>
</div>
<input type="hidden" name="rating_value" id="rating_value" value="">
在上述标记中,我们首先创建了一个名为“rating”的div元素,其中包含五个使用CSS更改样式的span元素。每个星级元素都将带有一个“data-value”属性,其值为其对应星星的值(1-5)。最后一个元素是隐藏的input元素,用于存储用户选择的星星值。
在使用jQuery创建星级评分程序时,我们将为每个星级元素附加一个单击事件。当用户点击星级元素时,将会发生以下事情:
将代码执行到与此星星元素相对应的代码行。
此代码行将获取星级元素的“data-value”属性。
所有低于或等于被选择的星级元素的星级元素都将被着色为黄色,并且高于它们的星级元素都将恢复成灰色。
将选择的星级值存储到隐藏的input元素中。
为此,我们将编写以下JavaScript代码:
// 为每个星星元素添加单击事件
$('.star').click(function(){
var selectedStar = $(this).attr('data-value');
// 根据选择的星星值设置颜色
$('.star').each(function(){
if($(this).attr('data-value') <= selectedStar){
$(this).addClass('selected');
}else{
$(this).removeClass('selected');
}
});
// 将选择的星星值存储到隐藏的input元素中
$('#rating_value').val(selectedStar);
});
在上面的代码中,我们首先选择所有星级元素,并为每个元素添加了一个单击事件。当单击事件触发时,它将执行以下逻辑:取到单击事件对应的星级元素上的“data-value”属性,将它赋值给变量“selectedStar”;遍历每个星级元素。如果某个星级元素的“data-value”属性值小于或等于“selectedStar”变量的值,那么就将此星级元素的类名更改为“selected”,否则移除它。最后,将所选的星级值存储在隐藏的输入元素中。
最后,我们需要添加CSS样式来美化我们的星级评分程序。以下是我们样式规则的示例:
.rating .star {
color: #ddd;
font-size: 30px;
transition: color 0.2s ease-in-out;
cursor: pointer;
}
.rating .star.selected,
.rating .star:hover {
color: #ffce00;
}
在上面的代码中,我们首先选择了“rating”div中的所有星级元素,并给它们分配了一些样式。当用户单击星级元素时,“selected”类将添加到所选元素中。我们还为星级元素添加了一个悬停样式。
至此,我们已经完成了一个简单的星级评分程序。
在本文中,我们介绍了如何使用jQuery框架创建星级评分程序。我们使用HTML,CSS和JavaScript编写了完整的示例代码。该程序将允许用户根据其选择的星星数量给出1到5的评分。这个程序是非常适合添加到一个博客或者电商网站中,以便用户能够评价所购买的产品。