我有一个包含电影标题的列表,youtube网址(用于构建嵌入代码)和URL到IMDB。在每次页面刷新时,必须出现另一个电影标题,Youtube视频和带有IMDB URL的文本。
["Movie A", "URL_to_youtube_movie_A", "URL_to_IMDB_movie_A"],
["Movie B", "URL_to_youtube_movie_B", "URL_to_IMDB_movie_B"],
etc.
我的网站已经有一个刷新按钮:页面重新加载<a href="javascript:history.go(0)"></a>
。如何让youtube视频随机显示?我希望输出为HTML,因此我可以在必要时添加元素。
答案 0 :(得分:1)
随机播放阵列,您可以使用下划线,或编写自定义函数:
list = _.shuffle(list)
然后输出前n部电影。这是最简单的方法,我认为这对你的情况来说已经足够了。
我会创建一个对象数组。电影是一个对象,如下所示:
var list = [{ title: "Movie A", urlYouTube: "URL_to_youtube_movie", urlImdb: "URL_to_IMDB_movie_A"}, ...]
此外,如果您计划进行更多操作,而不仅仅是显示随机电影,请查看一些javascript框架(backbone.js,angular,...)。
我建议你使用HTML输出模板。 Underscore也有简单的模板实现。 _.template(templateString,[data],[settings])
像这样:DEMO && CODE
答案 1 :(得分:1)
使用简单的javascript,没有任何库 您将需要如下所示的后缀功能 DEMO
function arrayShuffle(oldArray) {
var newArray = oldArray.slice();
var len = newArray.length;
var i = len;
while (i--) {
var p = parseInt(Math.random()*len);
var t = newArray[i];
newArray[i] = newArray[p];
newArray[p] = t;
}
return newArray;
};
称之为
var list = [{ title: "Movie A", urlYouTube: "URL_to_youtube_movie_A", urlImdb: "URL_to_IMDB_movie_A"},
{ title: "Movie B", urlYouTube: "URL_to_youtube_movie_B", urlImdb: "URL_to_IMDB_movie_B"},
{ title: "Movie C", urlYouTube: "URL_to_youtube_movie_C", urlImdb: "URL_to_IMDB_movie_C"}];
var Suffledlist = arrayShuffle(list);
然后显示前2或5个元素