首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >回调内部回调

回调内部回调
EN

Stack Overflow用户
提问于 2013-04-30 06:37:13
回答 3查看 102关注 0票数 0

我正在尝试让一个回调在它结束时执行另一个。但出于某种原因,它同时完成了所有这些操作。

代码如下:

代码语言:javascript
复制
$('video#videopromo').bind('ended',function()
{                  
    $("#hero").fadeIn("slow", function()
    {
        $(this).css("visibility", "visible");
        $("#videopromo").css({zIndex: -1});
        $(this).css("display", "block");

    });
});

我希望#hero淡入,而不是立即显示,这是最好的方式吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-04-30 06:58:21

我把你的代码放到jsFiddle中,它就能为我工作。虽然我怀疑您在CSS中使用了visibility:hidden,而我使用的是display:none。我注释掉了(this)的css()代码,因为我认为你不需要它,我对它进行了一些重构,但它工作得非常好;

代码语言:javascript
复制
#hero {    display:none; }

下面是一些可以工作的代码(但您的代码也可以使用上面的CSS);

代码语言:javascript
复制
$(document).ready(function(){
  $("#videopromo").bind('click',function(e){  
        var videopromo = $(e.target);
        console.log(e.target);
        $("#hero").fadeIn("slow", function(){
              console.log("callback");
              //$(this).css({visibility:"visible",display:"block"});
              videopromo.css({zIndex: -1});
        });
    });
});

和一个fiddle

(点击'video‘进行测试)

下面是另一个使用visibility:hidden实现相同功能的fiddle

代码语言:javascript
复制
$(document).ready(function(){

  $("#videopromo").bind('click',function(e){  
        var videopromo = $(e.target);
        console.log(e.target);
      $("#hero").css({visibility:"visible"})
                .hide()
                .fadeIn( 500, function(){
                      console.log("fully faded in now");
                      videopromo.css({zIndex: -1});
                });
      });

});
票数 0
EN

Stack Overflow用户

发布于 2013-04-30 06:41:54

试着调查一下.when.done

http://api.jquery.com/jQuery.when/ http://api.jquery.com/deferred.done/

这将允许您等到某件事完成后再开始另一件事。

票数 0
EN

Stack Overflow用户

发布于 2013-04-30 07:13:00

我通过扩展@cirrus所说的内容来解决这个问题,而不是隐藏元素。我给视频添加了一个$("#videopromo").css("position","relative");,这样内容就不会出现在视频后面。一旦完成,它就会恢复!

谢谢

一切都是为了你的帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16289388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档