【发布时间】:2017-09-17 20:48:30
【问题描述】:
我在我的应用程序中实现了星级评分系统,但我遇到了两个问题。
首先,当我将鼠标悬停在选定的星上时.. 它显示它悬停但它应该显示它已选中。我尝试更改所选课程的z-index,但没有帮助
其次,当我尝试从 5 星更改为 1 星时,它并没有取消选择星星。任何帮助将不胜感激
HTML:
<ul class="rating-stars">
<li>
<input id="rating_1" name="rating" type="radio" value="1">
<label class="rating is-active" for="rating_1" title="1 Star">
<span class="text">1 Star</span>
</label>
<li>
<input id="rating_2" name="rating" type="radio" value="2">
<label class="rating is-active" for="rating_2" title="2 Star">
<span class="text">2 Star</span>
</label>
<li>
<input id="rating_3" name="rating" type="radio" value="3">
<label class="rating is-active" for="rating_3" title="3 Star">
<span class="text">3 Star</span>
</label>
<li>
<input id="rating_4" name="rating" type="radio" value="4">
<label class="rating" for="rating_4" title="4 Star">
<span class="text">4 Star</span>
</label>
<li>
<input checked="checked" id="rating_5" name="rating" type="radio" value="5">
<label class="rating" for="rating_5" title="5 Star">
<span class="text">5 Star</span>
</label>
</ul>
$(".rating-stars li").mouseenter(function () {
$(this).children(".rating").addClass("is-hovered");
$(this).prevAll("li").children(".rating").addClass("is-hovered");
}).mouseleave(function () {
$(".rating-stars li").each(function () {
$(this).children(".rating").removeClass("is-hovered");
});
});
JS:
$(".rating-stars li").click(function () {
$(".rating-stars li").children(".rating.current").removeClass("is-active");
$(this).children(".rating").addClass("is-active")
$(this).prevAll("li").children(".rating").addClass("is-active");
});
【问题讨论】:
标签: javascript jquery html css styles