1

我正在尝试向我的 rails 应用程序添加一些 javascript。我正在尝试做类似于 twitter 处理用户推文中的 youtube 链接的方式(当用户点击推文/视频时,推文会展开以显示视频)。

这是我到目前为止所拥有的:

资产/javascripts/tracks.js

$(document).ready(function(){

    $(".slidingDiv").hide();
    $(".show_hide").show(); //not sure if needed

    $('.show_hide').click(function(){
    $(".slidingDiv").slideToggle();
    });
});

每个“轨道”的列表

意见/轨道/_track.html.erb

<li>
  <a href="#" class="show_hide"> <%= track.content %> </a>
  <div class="slidingDiv">
    <%= raw(youtube_embed(track.content)) %>
  </div>
</li>

我有一个方法youtube_embed可以将 youtube 链接转换为嵌入式 iframe。这可能是导致slidingDiv.slideToggle() 不响应的原因吗?当我转到 /tracks 时,youtube 视频已经嵌入在页面上,我无法让它们折叠。为清楚起见,我只希望用户在点击 div 后看到 youtube iframe。

相关的 CSS(对我来说似乎没问题)

/* tracks */

.slidingDiv {
  height: 500px;
  padding: 20px;
  margin-top: 10px;
}

.show_hide {
 // display: none;
}

吐出的iframe:

%Q{<iframe title="YouTube video player" width="640" height="390" src="http://www.youtube.com/embed/#{ youtube_id }" frameborder="0" allowfullscreen></iframe>}

我究竟做错了什么?如果有更好的方法来做到这一点 - 我也很想听听,谢谢。

4

0 回答 0