jq星星评分代码1、移入星星时显示评分效果与提示文本,移出星星时无评分效果。 2、点击星星时保留评分效果,提交按钮可用,并且失去移入移出功能 3、提交按钮只能点击一次,提交时弹窗显示评分文本,并除解除点击星星功能
时间: 2024-12-12 07:32:06 浏览: 28
这是一个关于JavaScript库jQuery(jq)实现动态评分星标的示例代码片段:
// HTML结构
<div id="rating-stars">
<span class="star" data-score="0"></span>
<span class="star" data-score="1"></span>
...
<span class="star" data-score="5"></span>
</div>
<button id="submit-btn">提交评分</button>
<!-- CSS样式,隐藏默认的星星样式 -->
<style>
#rating-stars span {
display: none;
}
</style>
// JavaScript代码
$(document).ready(function() {
// 移入/移出星星操作
$('#rating-stars').on('mouseover', '.star', function() {
var score = $(this).data('score');
$(this).show().siblings().hide();
showScore(score);
});
$('#rating-stars').on('mouseout', '.star', function() {
$(this).hide();
});
// 点击星星操作
$('#rating-stars').on('click', '.star', function() {
$(this).toggleClass('active'); // 显示选中的星星
var selectedScore = parseInt($(this).data('score'));
localStorage.setItem('selectedScore', selectedScore); // 存储用户选择的评分
disableStars(); // 禁止再次点击星星
});
// 提交评分操作
$('#submit-btn').click(function() {
if (localStorage.getItem('selectedScore')) { // 检查是否有评分
var score = localStorage.getItem('selectedScore');
alert('您选择了 ' + score + ' 分');
localStorage.removeItem('selectedScore'); // 清除已选择的评分
disableSubmitBtn(); // 禁止提交按钮
} else {
alert('请选择一个评分');
}
});
});
function showScore(score) {
$('#score-text').text(score); // 更新提示文本
}
function disableStars() {
$('#rating-stars .star').attr('disabled', true); // 禁用所有星星
}
function disableSubmitBtn() {
$('#submit-btn').attr('disabled', true); // 禁用提交按钮
}
在这个代码中,当用户鼠标悬停在星星上时,对应的星星会显示并显示出评分提示;点击星星后,星星会变色并保存用户的评分,同时禁用进一步的选择。提交按钮仅允许点击一次,在用户确认提交时显示评分并清除选择,同时禁用提交操作。
相关推荐


















