我的星级评分系统存在棘手的问题。
首先,我要从CMS获得星星,并为其赋予唯一的ID。
当我的页面未评级时,我有:
<div class="rated">
<a class="star" href="#" onclick="star(1,6226,0,0,1439 ,0)" "="">
<span>★</span>
</a>
<a class="star" href="#" onclick="star(2,6226,0,0,1439 ,0)" "="">
<span>★</span>
</a>
<a class="star" href="#" onclick="star(3,6226,0,0,1439 ,0)" "="">
<span>★</span>
</a>
<a class="star" href="#" onclick="star(4,6226,0,0,1439 ,0)" "="">
<span>★</span>
</a>
<a class="star" href="#" onclick="star(5,6226,0,0,1439 ,0)" "="">
<span>★</span>
</a>
</div>
(@Admin,Morerator-如何制作新行??)
当我的页面评级时,我有:
<div class="punkty" id="punkty1445">
<div class="rating">
<a class="star" href="#" onclick="star(1,6256,6,2,1445 ,3)">
<span>★</span>
</a>
<a class="star" href="#" onclick="star(2,6256,6,2,1445 ,3)">
<span>★</span>
</a>
<a class="star" href="#" onclick="star(3,6256,6,2,1445 ,3)">
<span>★</span>
</a>
</div>
<div class="rated">
<a class="star" href="#" onclick="star(4,6256,6,2,1445 ,3)" "="">
<span>★</span>
</a>
<a class="star" href="#" onclick="star(5,6256,6,2,1445 ,3)" "="">
<span>★</span>
</a>
</div>
<span class="oc" itemprop="average" id="glos1445" style="font-weight:bold;margin-right: 10px;">3</span>
</div>
正如您在第二个示例中看到的那样,平均页面访问率是由课程评分设置的(我将它们设为绿色)。等级评定为“我将开始投票”(这里3绿色2蓝色)。
在第一个示例5中,蓝色是可单击的,并且当您只投票给5时,我们将在此之后看到5个绿色星号,希望您能理解。
现在我的问题
当我指向星星时,如何使它们从左到右从金色变成金色?
例如,我指出了第三颗星,因此第一颗第二颗和第三颗必须将颜色更改为金色。
我试图在css中做到这一点,但是从右到左它们都是金子(我无法向您展示,因为在所有jsfiddle中,从左到右都是正常的)。我认为这可以通过一些核心的jquery实现。请帮助我,这对我很重要。
最佳答案
如果我是你,这就是我将如何处理此问题。我会为星星使用图标字体,网上有免费的图标字体:http://sixrevisions.com/resources/free-icon-fonts/。
图标字体令人惊奇的一点是它易于实现,并且您可以像更改字体颜色一样更改图标的大小和颜色。实现图标字体后,您可以添加以下CSS:
.rated{
color : blue;
}
.rating{
color : red;
}
默认情况下,星星将为蓝色,而用户所做的选择将变为红色。
有关如何实现图标字体的教程:http://designshack.net/articles/css/how-to-implement-some-slick-icons-using-a-font-and-css/
如果您不想这样做,则可以使用背景图像获得相同的结果。创建具有所需两种状态的星星的图像精灵,并根据父容器的类更改背景位置。
关于jquery - 在星级评分系统中为悬停设置星星颜色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22923292/