当前位置:嗨网首页>书籍在线阅读

12-解决方案

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

7.2.2 解决方案

1.HTML

我们需要绝对定位打算以动画显示的元素,使其保持在底部位置,这样在显示的时候它就会向上滑动。

为此,需要将动画元素包装在另一个 <div> (或者适合设计的其他元素)中,设置 position:relative 样式。(也可以是 position: absolute 。只需要一个事先定义的位置,以便触发 #revealUp 上的 position: absolute 样式,进行相对定位;但是,因为我们希望文档流程正常,所以使用了 position:relative。

<div class="box">
  <div id="revealUp">
   <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
   eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
  </div>
</div>

2.CSS

现在,需要为 box 元素设置一个相对位置,这样才能相对于它绝对定位 #revealUp

.box {
  position: relative;
}
#revealUp {
  position: absolute;
  overflow: hidden;
  display: none;
  bottom: 0;
  background-color: #c00;
  height: 0;
}

3.jQuery

可以根据元素的高度切换 #revealUp 。我们打算花费更长的时间显示增加高度的动画(通过检查当前高度)而不只是使用 slideToggle() ——我们将在7.2.3节中提及这么做的原因:

$(document).ready(function () {
  $('#animate').click(function () {
   var $box = $('#revealUp');
   if ($box.height() > 0) {
     $box.animate({ height : 0 });
   } else {
     $box.animate({ height : '100%' });
   }
  });
});