【问题标题】:Vimeo Gallery With Jquery - Almost There带有 Jquery 的 Vimeo 画廊 - 几乎就在那里
【发布时间】:2014-03-03 19:59:36
【问题描述】:

我有一个使用 Vimeo 的视频库,顶部有一个主播放器、标题、日期、说明,底部有其他视频的缩略图列表。我让它在你点击缩略图的地方工作,它会更新主播放器中的 url。唯一剩下的就是更新标题、日期和描述。这是我目前所拥有的。

热门视频、标题、日期和描述html:

<iframe src="//player.vimeo.com/video/{series_weeks:seriesWkVidId}?title=0&amp;byline=0&amp;portrait=0&amp;color=ff9933" id="video-iframe" width="700" height="394" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>

<h2 id="wkTitle">{video_title}</h2>
<p id="wkDate" class="date">Date: {series_weeks:seriesWkDate format="%m/%d/%Y"}</p>
<p id="wkDescription">{video_description}</p>

缩略图部分:

<a href="#" title="{video_title} - {series_weeks:seriesWkDate format="%m/%d/%Y"}" class="videoThumbnail video-thumbnail" rel="//player.vimeo.com/video/{series_weeks:seriesWkVidId}?title=0&amp;byline=0&amp;portrait=0&amp;color=ff9933">
<img src="{video_thumbnail}" alt="{video_title} - {series_weeks:seriesWkDate format="%m/%d/%Y"}" class="img-responsive" />
<span class="playButton"></span>
</a>

jQuery:

$(function() {
$('.video-thumbnail').click(function(e) {
    $('#video-iframe').get(0).src = this.getAttribute('rel');;
});

});

有人可以帮帮我吗?这是参考页面:http://discoverycolorado.dreamhosters.com/series/get-off-your-donkey

当您点击缩略图时,您会看到视频会发生变化,但我还需要它来更改标题和说明。

谢谢

【问题讨论】:

  • 你从哪里得到标题、描述等?..数据库?
  • 您能否更改缩略图的编码方式?例如,使用data 属性?
  • 标题和描述来自 Vimeo 通过一个名为 Antenna 的 ExpressionEngine 插件。日期即将通过 EE。
  • 我应该可以使用数据属性。

标签: javascript jquery css gallery vimeo


【解决方案1】:

您的 HTML 当前如下所示:

<a href="#" title="{video_title} - {series_weeks:seriesWkDate format=" %m/%d/%Y "}" class="videoThumbnail video-thumbnail" rel="//player.vimeo.com/video/{series_weeks:seriesWkVidId}?title=0&amp;byline=0&amp;portrait=0&amp;color=ff9933">
    <img src="{video_thumbnail}" alt="{video_title} - {series_weeks:seriesWkDate format=" %m/%d/%Y "}" class="img-responsive" /><span class="playButton"></span>
</a>

但是,您似乎已经在 a 元素中为每个视频硬编码某些参数,因此您可以添加 data 属性来保存视频的标题、日期和描述:

<a data-title="{video_title}" data-date="{series_weeks:seriesWkDate format=" %m/%d/%Y "}" data-description="{video_description}" href="#" title="{video_title} - {series_weeks:seriesWkDate format=" %m/%d/%Y "}" class="videoThumbnail video-thumbnail" rel="//player.vimeo.com/video/{series_weeks:seriesWkVidId}?title=0&amp;byline=0&amp;portrait=0&amp;color=ff9933">
    <img src="{video_thumbnail}" alt="{video_title} - {series_weeks:seriesWkDate format=" %m/%d/%Y "}" class="img-responsive" /><span class="playButton"></span>
</a>

基本上,您使用data-titledata-datedata-description 将它们各自的数据内联到元素中(我不会这样做,但由于您已经有很多内联数据,为什么不)。

如果您要采用data 路径,则可以在单击缩略图后执行以下操作来填充字段:

$(".video-thumbnail").click(function(){
    $("#video-iframe").attr("src", $(this).attr("rel"));
    $("#wkTitle").text($(this).data("title"));
    $("#wkDate").text("Date - " + $(this).data("date"));
    $("#wkDescription").text($(this).data("description")); 
});

所以最终,这种方法归结为填充缩略图元素的 data 字段,然后将相应 HTML 元素的文本设置为内联数据。

我建议您清理您的 HTML,尤其是因为到目前为止,您的 title 属性由于 " 中的 " 而存在语法错误。您也可以不使用data 属性并依赖缩略图元素的title 属性,但是您必须解析字符串,在- 处拆分它,这会使您的实现遇到各种问题.

此外,这种方法可能不起作用,具体取决于您如何以编程方式将 {} 信息插入到各种属性中。

【讨论】:

  • 好的,我能够正确填充数据属性,但 jquery 中似乎存在问题,因为它不会改变。现在,我只是从 data-title 读取标题(我取出数据描述只是为了消除它的语法错误成为问题)只是想看看我是否可以改变它,但它似乎没有正常工作。请参阅上面的参考网址。
  • 什么参考网址?无论如何,这是有效的:jsfiddle.net/charlescarver/La3HA
  • @user1356871 这无助于我诊断您的问题。你试过我发布的 jQuery 吗?
  • 是的,它不会更改标题、说明或日期。数据属性未传递到顶部视频区域。我继续将所有内容设置为您在参考页面上建议的方式,以便您查看
猜你喜欢
  • 1970-01-01
  • 2011-05-25
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 2011-10-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多