在javascript中显示基于评级的图像

时间:2013-11-26 11:33:51

标签: javascript jquery

我有一个显示10个评级的脚本:

overallRating = Ratings.RoundToHalf( ( convenience + quality + rebook )/3 );

返回1或1.5等值。

我想要做的是根据返回的评分显示星图,但最多只能显示5星而不是10星。

如何使用if语句执行此操作,例如:

if overallRating = 1 {
row = "<img src='star1.png' />";
}

if overallRating = 1.5 {
row = "<img src='star1.png' />";
}

这是我的脚本中显示结果的部分:

if ( overallRating > 0 )
row = row + '<td align="center">' + overallRating + "/10</td>";
else 
row = row + '<td align="center">N/A</td>';

row = row + "</tr>";

任何帮助都会很棒!感谢。

1 个答案:

答案 0 :(得分:0)

一般情况下,开发人员在div的背景中使用精灵图像并定位星星的背景图像。

如果您希望将1-5颗星向下舍入到最接近的星形,就像您最初想要解决问题一样,您可以写下这样的内容:

var rating = Math.floor(overallRating);
if (rating) {
    var img = "";
    for(var i=0; i < rating; i++) {
    img = img + "<img src='star1.png' />";
    }
    row = '<tr>' + '<td align="center">' + img + "/10</td>";
}
else {
    row = '<tr>' + '<td align="center">N/A</td>';
}
row = row + "</tr>";

如果您想以正确的方式创建评分系统,请查看以下链接:Turn a number into star rating display using jQuery and CSS