【发布时间】:2022-09-27 15:36:47
【问题描述】:
我正在使用传单开发 Java 地图,并且正在地图上创建标记弹出窗口。在这些弹出窗口上,我希望有一个星级评分系统,在悬停时会预先突出显示所有星星,而在点击时,星星会保持填充状态。目前,我可以让它们在点击时保持填充状态,但一次只突出一个悬停。
这是我目前为星星设计的 CSS:
/*set the default color of the stars*/
.star-rating{
color: #bebebe;
font-size:2em;
}
/*create the star*/
.my-star:before{
content:\"\\002605\";
}
/*remove the default style (italic) of the star*/
.my-star{
font-style: unset !important;
width: px;
}
/*set active star color*/
.is-active{
color:#fb8900;
}
/*set color on hover*/
.my-star:hover{
color: #fb8900;
}
这是我用于制作单个星形元素的 Javascript 代码(重复 5 次,数字递增)。
var popupStar1 = document.createElement(\"i\");
popupStar1.className =\"my-star star-1\";
popupStar1.setAttribute(\"data-star\", \"1\");
然后将其附加到 \'p\' 元素,然后将其附加到标记 \'div\' 元素:
var popupRating = document.createElement(\"p\");
popupRating.className =\"star-rating\";
popupRating.append(popupStar1);
popupRating.append(popupStar2);
popupRating.append(popupStar3);
popupRating.append(popupStar4);
popupRating.append(popupStar5);
popupDiv.append(popupRating);
这是生成的 HTML:
<p class=\"star-rating\">
<i class=\"my-star star-1\" data-star=\"1\"></i>
<i class=\"my-star star-2\" data-star=\"2\"></i>
<i class=\"my-star star-3\" data-star=\"3\"></i>
<i class=\"my-star star-4\" data-star=\"4\"></i>
<i class=\"my-star star-5\" data-star=\"5\"></i>
</p>
-
这回答了你的问题了吗? Is there a \"previous sibling\" selector?
标签: javascript java css leaflet hover