我在 google tv jquery ui 中使用 carousel.js 来创建视频幻灯片。我希望当我单击“下一步”(右箭头)时,项目将通过 Ajax 加载并附加到幻灯片。这意味着我的应用程序可以运行得更快。
1 回答
您可能希望将缩略图列表加载到轮播中,这样就不会创建空的轮播。如果您真的想在每次单击 next 时使用 ajax 加载视频 URL,则必须修改以下函数并将 AJAX 合并到其中。
/** * 选择下一个轮播项目。* @param {boolean} 如果项目应该在选择后激活,则为 true。*/ gtv.jq.Carousel.prototype.selectNext = function(activate) { var carousel = this;
if (this.selectedItem) { var newItem = this.selectedItem .parent() .nextAll('.carousel-item-div') .eq(0) .find('.carousel-item'); if (newItem && newItem.length == 0) { newItem = this.container.find('.carousel-item').first(); } this.selectItem(this.selectedItem, newItem, function() { carousel.updateSelectionClasses(newItem); if (activate) { carousel.activateItem(newItem); } }); } };
请注意,每次单击下一个按钮时使用 AJAX 并加载视频 URL 并没有多大意义——您会进行太多的 ajax 调用。最好使用 AJAX 动态加载整个类别的视频 URL 以填充轮播。
例如,最初的 Google TV 模板没有使用 AJAX 加载视频源,但是这个增强的 Google TV 模板添加了 AJAX 加载:
https://developers.google.com/tv/web/docs/ajax_gtv_templates_tutorial
看看它是如何在那里完成的。