让页面上的元素不可见,通常能够经过设置css的display为none属性。可是经过css直接修改是静态的布局,若是在代码执行的时候,通常是经过js控制元素的style属性,这里jQuery提供了一个快捷的方法.hide()来达到这个效果css
$elem.hide()
提供参数:ide
.hide( options )
当提供hide方法一个参数时,.hide()就会成为一个动画方法。.hide()方法将会匹配元素的宽度,高度,以及不透明度,同时进行动画操做布局
快捷参数:动画
.hide("fast / slow")
这是一个动画设置的快捷方式,'fast' 和 'slow' 分别表明200和600毫秒的延时,就是元素会执行200/600毫秒的动画后再隐藏spa
注意:code
jQuery在作hide操做的时候,是会保存自己的元素的原始属性值,再以后经过对应的方法还原的时候仍是初始值。好比一个元素的display属性值为inline,那么隐藏再显示时,这个元素将再次显示inline。一旦透明度 达到0,display样式属性将被设置为none,这个元素将再也不在页面中影响布局orm
css中有display:none属性,同时也有display:block,因此jQuery一样提供了与hide相反的show方法ci
方法的使用几乎与hide是一致的,hide是让元素显示到隐藏,show则是相反,让元素从隐藏到显示it
看一段代码:使用上一致,结果相反io
$('elem').hide(3000).show(3000)
让元素执行3秒的隐藏动画,而后执行3秒的显示动画。
show与hide方法是很是经常使用的,可是通常不多会基于这2个属性执行动画,大多状况下仍是直接操做元素的显示与隐藏为主
注意事项:
show与hide是一对互斥的方法。须要对元素进行显示隐藏的互斥切换,一般状况是须要先判断元素的display状态,而后调用其对应的处理方法。好比显示的元素,那么就要调用hide,反之亦然。 对于这样的操做行为,jQuery提供了一个便捷方法toggle用于切换显示或隐藏匹配元素
基本的操做:toggle();
这是最基本的操做,处理元素显示或者隐藏,由于不带参数,因此没有动画。经过改变CSS的display属性,匹配的元素将被当即显示或隐藏,没有动画。
display属性将被储存而且须要的时候能够恢复。若是一个元素的display值为inline,而后是隐藏和显示,这个元素将再次显示inline
提供参数:.toggle( [duration ] [, complete ] )
一样的提供了时间、还有动画结束的回调。在参数对应的时间内,元素会发生显示/隐藏的改变,在改变的过程当中会把元素的高、宽、不透明度进行一系列动画效果。这个元素其实就是show与hide的方法
直接定位:.toggle(display)
直接提供一个参数,指定要改变的元素的最终效果
其实就是肯定是使用show仍是hide方法
if ( display === true ) { $( "elem" ).show(); } else if ( display === false ) { $( "elem" ).hide(); }
toggle方法就是show与hide的相互切换的一个快捷方法