/***** CSS Magic to Highlight Stars on Hover *****/ .rating > input:checked ~ label, /* show gold star when clicked */ .rating:not(:checked) > label:hover, /* hover current star */ .rating:not(:checked) > label:hover ~ label{color:#FFD700;}
/* hover previous stars in list */ .rating > input:checked + label:hover, /* hover current star when changing rating */ .rating > input:checked ~ label:hover,.rating > label:hover ~ input:checked ~ label, /* lighten current selection */ .rating > input:checked ~ label:hover ~ label{color:#FFED85;}
If want to passive load we need push disabled attribute to all input[type="text"] and run JS code below:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
functioncalcRate(r) { var t = 5 === a ? star5 : r >= 4.5 ? star4half : r >= 4 ? star4 : r >= 3.5 ? star3half : r >= 3 ? star3 : r >= 2.5 ? star2half : r >= 2 ? star2 : r >= 1.5 ? star1half : r >= 1 ? star1 : r >= .5 ? starhalf : null; t && (t.checked = !0) }