javascript - 选中时如何为星码赋予悬停效果?

标签 javascript jquery html css twitter-bootstrap

<分区>

我正在尝试实现星级评级,我正在使用 Bootstrap 图标功能,我正在使用来自 Bootstrap 的星形图标。我能够获得星级评级的所有功能,但我无法获得之前 sibling 的悬停效果。

例如:如果我将鼠标悬停在 star4 上,那么它应该使 star1、2、3 的颜色变为某种颜色。但我无法获得该功能。

我的代码是:

 <span class="glyphicon glyphicon-star star1" id="q6-1" value="1"></span>
 <span class="glyphicon glyphicon-star star1" id="q6-2" value="2"></span>
 <span class="glyphicon glyphicon-star star1" id="q6-3" value="3"></span>
 <span class="glyphicon glyphicon-star star1" id="q6-4" value="4"></span>
 <span class="glyphicon glyphicon-star star1" id="q6-5" value="5"></span>

Jquery 是:

 $('.star1').click(function(){
 var rating = $(this).attr('id');
 var res = rating.split("-");
 rating = res[1]; 

 for(var i=0;i<5;i++){
   if(i<=rating){
        $('#q6-'+i).addClass("color-star"); 
   }       
 }
 alert(rating);
 });

$('.star1').hover(function(){
 $(this).addClass("color-star");
 }, function() {
 $(this).removeClass("color-star");

});

最佳答案

CSS Implementation

HTML

<div class='rating'> 
<span class="glyphicon glyphicon-star star1" id="q6-1" value="1"></span>
 <span class="glyphicon glyphicon-star star1" id="q6-2" value="2"></span>
 <span class="glyphicon glyphicon-star star1" id="q6-3" value="3"></span>
 <span class="glyphicon glyphicon-star star1" id="q6-4" value="4"></span>
 <span class="glyphicon glyphicon-star star1" id="q6-5" value="5"></span>
</div>

CSS

.rating{
    float:left;
}
.star1{
    float:right;
}
.star1:hover, .star1:hover ~ .star1{
    color:gold;    
}

jQuery Implementation

$('.star1').hover(function(){
   $(this).css('color', 'gold').prevAll('.star1').css('color', 'gold');
 }, function() {
    $(this).css('color', 'black').prevAll('.star1').css('color', 'black');
});

或者,使用您的代码:

$('.star1').hover(function(){
   $(this).addClass("color-star").prevAll('.star1').addClass("color-star");
 }, function() {
    $(this).removeClass("color-star").prevAll('.star1').removeClass("color-star");
});

关于javascript - 选中时如何为星码赋予悬停效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23405636/

上一篇:javascript - Jquery 克隆函数不工作

下一篇:html - 将样式应用于 Bootstrap 导航栏中的某些按钮

相关文章:

javascript - 是否有任何非致命的 javascript 错误可以用于测试..?

javascript - 在 JQuery 循环中的 Ajax 请求之前发出警报

javascript - 在 React 中检测 2 个键的 onKeyPress

javascript - jQuery 从数组中多个元素的类属性中获取值,无需循环

javascript - 将多个 bool 检查简化为一个检查

html - 在基于 div 的表中对齐不均匀的行

html - 为什么我的代码没有显示我选择的字体和位置?我刷新并显示了一秒钟

php - 如何检查访问者从哪个链接被重定向

javascript - Blogger 不会保存包含此 javascript 的模板

javascript - 如何包装需要异步调用的复杂 if-then 语句?