gpt4 book ai didi

jquery - 带有jQuery的YouTube API的缩略图/网址的动态表

转载 作者:行者123 更新时间:2023-12-03 05:43:22 25 4
gpt4 key购买 nike

我对js和jQuery非常陌生,请原谅我的错误代码。尝试通过关键字查询动态生成YouTube缩略图/网址的格式化表格。缩略图需要包装在带有fancybox类设置的标签中,才能触发fancybox播放器。我将所有必需的'a'和'img'标记设置为vars,只是尝试解析JSON供稿以获取视频ID,将其插入url和缩略图模板,然后生成一个表格,该表格在之后会开始新的一行每9个单元格。

这是我的代码。现在,它仅生成一个列,并不断重复相同的ID,并在每次迭代中添加一个新的ID。任何帮助深表感谢!

<script type="text/javascript">

var vidCell1 = '<a class="fancybox-media" href="https://www.youtube.com/watch?v=';
var vidCell2 = '"><img src="http://i.ytimg.com/vi/';
var vidCell3 = '/hqdefault.jpg" width="100" alt="" /></a>';
var mytablebody = '<tbody><tr>';
var ti;
var id;

$.getJSON("https://gdata.youtube.com/feeds/api/videos?q=mirthkon&v=2&alt=jsonc",function(youtubeJSON) {

ti = youtubeJSON.data.totalItems;
for (var i=0; i<=ti; i++) {
id = youtubeJSON.data.items[i].id;
mytablebody += "<td>" + vidCell1 + id + vidCell2 + id + vidCell3 + "</td>";
mytablebody += "</tr></tbody>";
$('.thumbs').append(mytablebody);
};
});​
</script>
</head>
<body>
<table class="thumbs" width="100" height="100" border="2" cellpadding="0" cellspacing="0"></table>​
</body>

最佳答案

var tmpl = '<a class="fancybox-media" href="https://www.youtube.com/watch?v={{id}}"><img src="http://i.ytimg.com/vi/{{id}}/hqdefault.jpg" width="100" alt="" /></a>';
jQuery.getJSON("https://gdata.youtube.com/feeds/api/videos?q=mirthkon&v=2&alt=jsonc",function(json) {
jQuery.each(json.data.items, function(i, item){
jQuery(document.body).append(tmpl.replace(/{{id}}/g, item.id));
});
});

这既快速又肮脏,我是使用Chrome检查器在这个stackoverflow页面上实现的。它只是将所有创建的youtube链接附加到文档中。为了进行优化,您应该在循环之前创建一个div,将所有链接附加到循环中,然后在循环之后将该一个div附加到DOM。另外,在测试时,Youtube会调节API调用,因此您可以将其缓存在localStorage或其他内容中,这样每次访问页面时都不会对youtube进行大量调用。

还有两条评论:我为您创建了一个模板字符串,因此您不必每次都构建一个长字符串。在编写和测试脚本时, console.log是您的 friend 。例如,使用 console.log(youtubeJSON)查看数据的外观。您也可以对不了解哪些数据正在传递给您的函数执行此操作。在 jQuery.each内部,您可以放置​​ console.log('args', arguments)来记录每次方法传递给您的信息。

干杯。

关于jquery - 带有jQuery的YouTube API的缩略图/网址的动态表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10919547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com