我正在使用 vimeo api 在完成播放后将视频滑出屏幕。在隐藏的视频播放器下方,我有一张图片,上面写着“重播”。虽然图像比播放器略大,所以我想通过.hide()
或display: none
在 css 中隐藏图像,然后在视频播放器的动画完成后显示它。
这是我的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;
}
我也试过display: none
在css中设置,但这也行不通。不知道我错过了什么。
谢谢。
编辑
function onFinish(playerID) {
var player = "#" + playerID;
$(player).animate({width: "0%"}, 750, function() {
console.log($(player));
$(player).next().show();
});
}
当我注销时 ($(player) 它返回:
当我注销时,console.log($(player).next());
它会注销我要显示的图像。