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

08-解决方案

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

7.1.2 解决方案

作为参考,如果只是要显示元素,代码如下:

$(document).ready(function () {
  $('#animate').click(function () {
   $('.box').show();
  });
};

如果我们想要切换方框的显示/隐藏,可以使用下面的语句代替 .show()

$('.box').toggle();

但是,解决方案要比简单地切换显示属性更吸引人。所以,我们来看看滑动和淡入/淡出方法的使用:

Slide

$(document).ready(function () {
  $('#animate').click(function () {
   $('.box').slideToggle('slow');
  });
});

Fade

因为没有不透明度的切换函数,所以可以使用 fadeInfadeOut 的组合:

$(document).ready(function () {
  $('#animate').click(function () {
   var $box = $('.box');
   if ($box.is(':visible')) {
     $box.fadeOut('slow');
   } else {
     $box.fadeIn('slow');
   }
  });
});

也可以用 fadeTo 方法创建自己的淡入/淡出切换动画:

$(document).ready(function () {
  $('#animate').click(function () {
   $('.box').fadeTo('slow', 'toggle');
  });
});

但是,我认为使用 animate 方法对未来的维护更好:

$(document).ready(function () {
  $('#animate').click(function () {
   $('.box').animate({ opacity : 'toggle' }, 'slow');
  });
});

同时切换

如果我们想同时切换高度和不透明度,可以重用前面的解决方案,同时切换高度。这使得方框在淡出的同时向上滑动:

$(document).ready(function () {
  $('#animate').click(function () {
   $('.box').animate({
     opacity : 'toggle',
     height: 'toggle'
   }, 'slow');
  });
});