我正在尝试将一些javascript添加到我的rails应用中。我正在尝试做类似于Twitter处理用户推文中youtube链接的方式(当用户点击推文扩展以显示视频的推文/视频时)。
这是我到目前为止所做的:
资产/ Javascript角/ 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()的原因吗?当我进入/追踪时,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>}
我做错了什么?如果有更好的方法 - 我也很乐意听到它,谢谢。