从下面顺利滑入新的div

时间:2015-03-09 15:10:53

标签: javascript html css css-animations

我正在尝试使用javascript附加一个新div来从屏幕底部向上滑动。我查看了旧的SO回答this onethis one等问题,但我仍然无法弄清楚如何解决我的问题。现在,之前的div正在“跳跃”,但我希望下一个div能够无缝滑动,并让它们随之向上移动。我希望能够用CSS动画做到这一点。那可能吗?这是一个小提琴:http://jsfiddle.net/3fcbfbuu/4/

HTML:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="global-wrap">
  <div class="prewrapper">
    <div class="sentmessage ">
      <div class="messagetext ">
        <div id="conversation1">Message 1</div>
      </div>
    </div>
    <div class="sentmessage ">
      <div class="messagetext ">
        <div id="conversation5">Message 2</div>
      </div>
    </div>
  </div>
  <div class="wrapper" id="wrapper_l">
    <div id="part3" class="sentmessage">
      <div class="messagetext ">
        <div id="conversation2">Message 3</div>
      </div>
    </div>
  </div>
</div>

CSS:

.fullconversation {
  height: 32%;
  width: 100%;
  display: block;
  position: relative;
}
.global-wrap {
  width: 100%;
  position: absolute;
  bottom: 0%;
  overflow: hidden;
}
.prewrapper {
  -webkit-transition: all 2s ease;
}
.wrapper {
  -webkit-transform: translate(0, 200px);
  -webkit-transition: all 2s ease;
  position: absolute;
}
.wrapper.in {
  -webkit-transform: translate(0);
  position: relative;
}
.messagetext {
  display: inline-block;
}
.prewrapper {
  width: 100%;
}
.sentmessage {
  border-top-width: 2px;
  border-top-style: solid;
  border-top-color: #e3e3e4;
  width: 100%;
  height: 100%;
  display: block;
  overflow: hidden;
}

JS:     的setTimeout(

  function() {

    $("#wrapper_l").addClass("in");

  }, 1000)

1 个答案:

答案 0 :(得分:0)

如果您想要另一个受动画影响的元素,请不要使用翻译.. 尝试使用像这样的保证金:

DEMO

.wrapper {
  margin-bottom:-20px;
  -webkit-transition: margin 2s ease;
  position: absolute;
}
.wrapper.in {
  margin-bottom:0px;
  position: relative;
}
祝你好运。