javascript - 将 div 滑入和滑出视口(viewport)

标签 javascript jquery html css

我正在尝试实现类似于 airbnb.com 主页及其工作原理按钮的效果。

我已经能够完成以下 fiddle :http://jsfiddle.net/n89z4bz3/

但是,我无法实现滑动效果,也无法将可见容器固定到 upper-container 中的滑动底部。

我的 Jquery 代码在这里:

$(document).ready(function(){
    var heightVar = 0 - $(window).height();
    $('.upper-container').css('top',heightVar+'px');
    $('.main-container').css('height', $(window).height()+'px');
    $('.click-this').on('click', function(){
        $('.upper-container').css('top', '0');
        $('.main-container').css('margin-top',$('.upper-container').height()+'px');
    });
});

我的 HTML 设置如下:

<div class="upper-container">
    Hidden container
</div>
<div class="main-container">
    Visibile container
    <div class="click-this">
        Click This to Slide Down
    </div>
</div>

最佳答案

试试这个

http://jsfiddle.net/n89z4bz3/1/

$(document).ready(function() {
  var heightVar = 0 - $(window).height();
  $('.main-container').css('height', $(window).height() + 'px');
  $('.click-this').on('click', function() {
    $('.upper-container').animate({
      height: '100px',
      paddingTop: '40px'
    }, 500);
  });
});
.upper-container {
  position: reltive;
  width: 100%;
  padding-top: 0px;
  background: red;
  height: 0px;
  overflow: hidden;
}
.main-container {
  background: blue;
  position: relative;
}
.click-this {
  background: #fff;
  color: #333;
  padding: 20px;
  margin-left: 20px;
  width: 300px;
  margin-top: 40px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="upper-container">
  Hidden container
</div>
<div class="main-container">
  Visibile container
  <div class="click-this">
    Click This to Slide Down
  </div>
</div>

关于javascript - 将 div 滑入和滑出视口(viewport),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30178527/

相关文章:

javascript - 如何将下拉列表中的数据连接到javascript中输入文本的数据

javascript - iOS 中的滚动位置

jquery - 将一个 DIV 滑到另一个 DIV 上

html - 将文本锚定到页面中间

php - fopen() 期望参数 1 是有效路径

javascript - 函数需要点击 2 次才能显示隐藏的 div

javascript - jquery - 鼠标松开后查找 2 个不同的元素

javascript - jQuery 示例 : Reseting an input file element in case of non-allowed file-extensions

javascript - 使用 jQuery 遍历并匹配元素

html - 包裹时均匀分布 flex 元素