我有一个显示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>";
任何帮助都会很棒!感谢。
答案 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