Javascript Can';无法使用.show()获取要显示的隐藏图像

Javascript Can';无法使用.show()获取要显示的隐藏图像,javascript,jquery,css,vimeo,froogaloop,Javascript,Jquery,Css,Vimeo,Froogaloop,我正在使用vimeo api在视频播放结束后将其从屏幕上滑下。在隐藏的视频播放器下面,我有一个图像,上面写着“回放”。但图像比播放器稍大,因此我想通过css中的.hide()或display:none隐藏图像,然后在视频播放器的动画完成后显示它 以下是我的js: $(document).ready(function() { $(".vimeo-container img").hide(); $('iframe.vimeo').each(function(){ Froogaloo

我正在使用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();
    });
}
当我注销($(播放器)时,它返回:


当我注销console.log($(player.next());时,它会注销我试图显示的图像。

根据jQuery文档中有关动画方法的说明:

注意:与.slideDown()和.fadeIn()等速记动画方法不同,.animate()方法不会使隐藏元素作为效果的一部分可见。例如,给定$(“someElement”).hide().animate({height:“20px”},500),动画将运行,但元素将保持隐藏

我在一个项目中也有类似的需求,对我有效的是将我想要隐藏的元素的z索引设置为小于背景的z索引。然后,当我想要显示(或者,在你的例子中,动画)时,我可以将jQuery方法应用于元素,就像它们被隐藏一样(通过增加z索引使元素变得可见),但不会产生试图操纵隐藏元素的未定义行为


另一种选择是通过负片(x,y)将元素移出屏幕协调并从那里开始工作。我不确定在您的用例中哪种视觉效果更吸引人,但为了完整性,请提及它。

您在这个问题中是否缺少标记?HTML不是HTML,是吗?抱歉…那是haml-当然,我将日志放在了编辑中。谢谢。
未捕获的TypeError
…jQuery似乎不可用?jquery工作正常。我正在制作动画的项目没有隐藏。它是我正在制作动画的项目后面的一个图像。但是你是对的。我可能需要尝试另一种“隐藏”它的方式。