【发布时间】:2014-04-19 02:10:10
【问题描述】:
我正在使用 vimeo api 在完成播放后将视频滑出屏幕。在隐藏的视频播放器下方,我有一张图片,上面写着“重播”。虽然图像比播放器略大,所以我想通过 css 中的.hide() 或display: none 隐藏图像,然后在视频播放器的动画完成后显示它。
这是我的 js:
$(document).ready(function() {
$(".vimeo-container img").hide();
$('iframe.vimeo').each(function(){
Froogaloop(this).addEvent('ready', ready);
});
function ready(playerID){
Froogaloop(playerID).addEvent('finish', onFinish);
}
function onFinish(playerID) {
var player = "#" + playerID;
$(player).animate({width: "0%"}, 750, function() {
$(player).next("img").show();
});
}
});
所以第一行隐藏了图像。然后当onFinish 函数完成时,我尝试show() 图像,但它不起作用。我应该注意,当我反转它并这样做时:
$(player).next("img").hide();
它有效。
这是我的 HTML:
%section#container1
.row.video-left
.large-8.columns
.vimeo-container
.flex-video.widescreen.vimeo
%iframe.vimeo#player1{allowfullscreen: "", frameborder: "0", height: "225", mozallowfullscreen: "", src: "http://player.vimeo.com/video/60122989?api=1&player_id=player1", webkitallowfullscreen: "", width: "400"}
= image_tag "behind1.png", class: "behind1"
还有 CSS:
.vimeo-container {
position: relative;
.behind1 {
margin-top: -27em;
}
我也尝试在 css 中设置 display: none,但这也不起作用。不知道我错过了什么。
谢谢。
编辑
function onFinish(playerID) {
var player = "#" + playerID;
$(player).animate({width: "0%"}, 750, function() {
console.log($(player));
$(player).next().show();
});
}
当我退出时 ($(player) 它返回:
当我注销console.log($(player).next()); 时,它会注销我要显示的图像。
【问题讨论】:
-
您在这个问题中是否缺少标签?那 HTML 不是 html,是吗?
-
对不起...这是haml - haml.info
-
当然,我将日志放在了 EDIT 中。谢谢。
-
Uncaught TypeError... jQuery好像不可用? -
jquery 工作正常。
标签: javascript jquery css vimeo froogaloop