代码之家  ›  专栏  ›  技术社区  ›  Kerby82

jQuery UI滑动div无缝

  •  0
  • Kerby82  · 技术社区  · 8 年前

    我有以下html代码:

    <div class="col-md-12">
    <div id="div1" class="col-md-12">
      content
    </div>
    <div id="div2" class="col-md-12">
      content
    </div>
    </div>
    

    我想隐藏div2,在特定事件中,我想滑出div1并无缝地滑入div2。

    下面是我隐藏div2并执行滑动操作的javascript代码:

    $("#div1").hide();
    
    $("#div1").hide("slide", { direction: "left" }, 4000);
    $("#div2").show("slide", { direction: "right" }, 4000);
    

    一切正常唯一的问题是,DIV的滑出和滑入不在同一水平。我可以看到div2从div1滑出的下方进入,然后取div1的位置。

    我哪里错了?

    1 回复  |  直到 8 年前
        1
  •  1
  •   War10ck    8 年前

    要使动画以同步方式发生,可以使用的回调函数参数 .hide() 要初始化第二个动画,如下所示:

    $("#div1").hide("slide", { direction: "left" }, 4000, function () {
    	$("#div2").show("slide", { direction: "left" }, 4000);
    });
    #div1,#div2 {
      padding: 10px 20px;
      width: 200px;
      text-align: center;
      border: 1px dotted #000;
    }
    <link href="https://code.jquery.com/ui/1.12.0/themes/smoothness/jquery-ui.min.css" rel="stylesheet"/>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://code.jquery.com/ui/1.12.0/jquery-ui.min.js"></script>
    <div class="col-md-12">
    <div id="div1" class="col-md-12">
      content
    </div>
    <div id="div2" class="col-md-12" style="display: none;">
      content
    </div>
    </div>