我正在尝试向我的 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>}
我究竟做错了什么?如果有更好的方法来做到这一点 - 我也很想听听,谢谢。