如何再次删除颜色

时间:2017-04-30 23:39:38

标签: javascript jquery html css

它是一个最喜欢的统计数据,所以当我再次点击星号显示时,我想删除颜色:无

//js

function addRating(obj) {
    $('li').each(function(index) {
        $(this).addClass('selected');
        $('#rating').val((index+1));
        if(index == $("li").index(obj)) {
            return false;   
        }
    });
}

function resetRating() {
    if($("#rating").val()) {
        $('li').each(function(index) {
            $(this).addClass('selected');
            if((index+1) == $("#rating").val()) {
                return false;   
            }
        });
    }
}

小提琴http://jsfiddle.net/razanrab/7YjPu/41/

1 个答案:

答案 0 :(得分:0)

我使用点击事件,因为它在jQuery中更为标准。我还添加了光标:将鼠标悬停在CSS上以使其看起来更好。另外,我把它改成了星级,因为它可以与多个星星一起正常工作



$(".star").on("click",function() {
  obj=this;
  $('#rating').val($("li").index(obj));
  $('li').removeClass("selected").each(function(index) {
    $(this).addClass('selected');
    if(index == $("li").index(obj)) {
      return false;	
    }
  });
});

li{display: inline-block;color: #F0F0F0;text-shadow: 0 0 1px #666666;font-size:30px;cursor:pointer}
.highlight, .selected {color:#F4B30A;text-shadow: 0 0 1px #F48F0A;}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="detailsPage" data-role="page">
		<div data-role="header">
			<a href="index.html" data-rel="back" class="ui-btn-left ui-btn  ui-btn-icon-notext ui-corner-all ui-icon-back"></a>
			<h1 id="Name"></h1>
		</div>
	<div data-role="content">
  <input type="hidden" name="rating" id="rating" />
			<ul>
				  <li  class="star">★</li>
				  <li  class="star">★</li>
				  <li  class="star">★</li>
         
			</ul>
		</div>		
    	</div>
&#13;
&#13;
&#13;