jQuery实现星级评价效果 当移入某个星星,前面的星星都会被点亮; 当鼠标移出,星星将会变暗; 单击某个星星后即完成评价; 鼠标移出后被点击的星星前面的星星都会被点亮; 后面的星星变暗;
时间: 2024-11-06 22:14:56 浏览: 7
jQuery可以轻松实现星级评价的效果,通常通过HTML结构表示每个星星,然后利用CSS设置基础样式,结合JavaScript事件处理来实现动态变化。下面是一个简单的步骤:
1. HTML结构:
```html
<div class="star-rating">
<span class="star active" title="1 star"></span>
<span class="star" title="2 stars"></span>
...
<span class="star" title="5 stars"></span>
</div>
```
其中,`.active`类用于标记当前选中的星星。
2. CSS样式:
```css
.star {
width: 16px;
height: 16px;
display: inline-block;
background-position: left center;
}
.active {
background-color: #FCE4EC; /* 点亮星星的颜色 */
}
```
3. jQuery代码:
```javascript
$(document).ready(function() {
// 星星默认状态
$('.star').click(function() {
$(this).toggleClass('active'); // 单击切换active状态
var siblings = $(this).siblings('.star');
siblings.removeClass('active'); // 移除其他星星的active状态
// 添加或移除后续星星的active状态,如需要
if ($(this).hasClass('last-star')) return;
siblings.eq(siblings.index(this) + 1).addClass('active');
});
// 鼠标移动事件,改变星星亮度
$('.star').hover(function() {
$(this).toggleClass('bright'); // 当前鼠标悬停的星星变亮
}, function() {
$(this).removeClass('bright'); // 鼠标离开,星星变暗
});
});
```
以上代码实现了基本的功能,但可以根据实际需求调整细节,比如添加动画效果、支持鼠标滚轮操作等。
阅读全文