【发布时间】:2016-10-26 13:57:15
【问题描述】:
我正在从 omdb json 对象中获取 imdb 评级,并尝试为每个评级生成等效的 svg 星。
在我的示例中,这部电影的评分为 8.0。我不知道为什么,但在我的代码中,我目前正在使用克隆生成 11 颗星。或者,我在想我可以使用一组星来为每个评级附加多个星。我有 30 部不同评分的电影。如何为每个评分生成等效的星数?
$( document ).ready(function() {
movie = {
Title: "The Exorcist",
Year: "1973",
Metascore: "82",
imdbRating: "8.0",
}
// red star
const $star = $(`<svg width="75" height="50"><polygon points="25,2.5, 10,49 47.5,17.5, 2.5,17.5,40,49" style="fill:red;stroke:none;stroke-width:5;"/></svg>`);
// movie rating
const rate = parseInt(movie.imdbRating);
$(".row").text(`Movie IMDB Rating: ${rate}`);
// 10 star array
const ratingStars =[$star,$star,$star,$star,$star,$star,$star,$star,$star,$star];
for(let i = 0; i <= ratingStars.length; i++) {
if(rate === 8 ) {
$star.clone().appendTo($("#star"));
}
}
});
【问题讨论】:
-
i <=应该是i <这就是为什么你得到 11 ......但是 for 循环的其余部分没有意义,因为它只会在 rate === 8 -
感谢您指出这一点...我只是将 8 个放在我的示例中 - 我不确定处理不同评级数字的最佳方法是什么
-
我想知道故事中的
if(rate === 8 ) {是什么
标签: javascript jquery