在星级系统中悬停时设置星星颜色

时间:2014-04-07 21:18:16

标签: jquery css

我的星级评分系统存在相当棘手的问题。 首先,我从CMS获得明星并给予他们独特的身份。

当我的页面没有评级时,我有:

<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颗绿色星星,我希望你能理解它。

现在我的问题 当我指向星星时,如何让它们从左到右改变颜色为金色? 对于exaple,我指向第三颗星,所以第一和第三星必须改变颜色为金。 我试图在css中制作它,但它们是从右到左的金色(我不能告诉你,因为在所有的jsfiddle等。从左到右是正常的)。我认为这将是可能的一些硬核jquery。请帮帮我,这对我来说非常重要。

1 个答案:

答案 0 :(得分:1)

如果我是你,这就是我将如何解决这个问题。我会为星星使用图标字体,网上有免费的图标字体: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/

如果您不想这样做,您可以使用背景图像获得相同的结果。使用您需要的两个状态创建星星的图像精灵,并根据父容器的类更改背景位置。