基本的に星評価システムの評価システムのコードを書きましたが、すべて正常に機能し、コードは良好です
<script type="text/javascript">
(function($){
$(document).ready(function() {
var $option = $('.option');
var $fruit = $('.fruit-name');
var $last;
var parent
$option.click(function() {
parent=$(this).parents('.comment-form-rating');
$('.fruit-name',parent).val(this.innerHTML)
})
$(".starr1").hover(function(){
parent=$(this).parents('.comment-form-rating');
$('.starr1',parent).css('color','gold')
},function(){
$(".starr1").css("color","#ddd");
});
$(".starr2").hover(function(){
parent=$(this).parents('.comment-form-rating');
$('.starr1',parent).css('color','gold')
$('.starr2',parent).css('color','gold')
},function(){
$(".starr1").css("color","#ddd");
$(".starr2").css("color","#ddd");
});
$(".starr3").hover(function(){
parent=$(this).parents('.comment-form-rating');
$('.starr1',parent).css('color','gold')
$('.starr2',parent).css('color','gold')
$('.starr3',parent).css('color','gold')
},function(){
$(".starr1").css("color","#ddd");
$(".starr2").css("color","#ddd");
$(".starr3").css("color","#ddd");
});
$(".starr4").hover(function(){
parent=$(this).parents('.comment-form-rating');
$('.starr1',parent).css('color','gold')
$('.starr2',parent).css('color','gold')
$('.starr3',parent).css('color','gold')
$('.starr4',parent).css('color','gold')
},function(){
$(".starr1").css("color","#ddd");
$(".starr2").css("color","#ddd");
$(".starr3").css("color","#ddd");
$(".starr4").css("color","#ddd");
});
$(".starr5").hover(function(){
parent=$(this).parents('.comment-form-rating');
$('.starr1',parent).css('color','gold')
$('.starr2',parent).css('color','gold')
$('.starr3',parent).css('color','gold')
$('.starr4',parent).css('color','gold')
$('.starr5',parent).css('color','gold')
},function(){
$(".starr1").css("color","#ddd");
$(".starr2").css("color","#ddd");
$(".starr3").css("color","#ddd");
$(".starr4").css("color","#ddd");
$(".starr5").css("color","#ddd");
});
});
})(jQuery);
</script>
しかし、ユーザーが星5をクリックするとすべての星が赤色になるように、星のクリック関数を定義する必要があります-
私はこのように定義しました
$(".starr5").click(function () {
parent = $(this).parents('.comment-form-rating');
$('.starr1', parent).css('color', '#FF7777')
$('.starr2', parent).css('color', '#FF7777')
$('.starr3', parent).css('color', '#FF7777')
$('.starr4', parent).css('color', '#FF7777')
$('.starr5', parent).css('color', '#FF7777')
});
ここで問題が発生します-星が赤くなりますが、マウスを左にすると再び灰色になり、ホバーの黄色の機能の上にマウスを置くと、完全に混乱しますそれを機能させるコードをさらに記述する方法.