jquery动画课程(1)--show,hide和toggle
官方文档:
这三个函数是动画的基础,大部分动画都包含了出现和隐藏。jQuery的动画均以$.fn.animate函数为基础。
show和hide是改变元素的{width;height;opacity}来实现动画,动画结束后再{display}掉。
1、show和hide不带参数时,没有使用animate
$().show();
//相当于
$().css({'display':'block'});
$().hide();
//相当于
$().css({'display':'none'});
2、show会缓存display的值
①如果元素css设置了{display}显示值(block,inline,list-item等),当隐藏后再次显示会使用你设置的值;inline-block隐藏再显示时会认为是block。
<style type="text/css">
.div{display:inline;}
</style>
<script type="text/javascript">
$('.div').css('display');//inline
$('.div').hide();
$('.div').show();
$('.div').css('display');//inline
</script>
<style type="text/css">
.span{display:block;}
</style>
<script type="text/javascript">
$('.span').css('display');//block
$('.span').hide();
$('.span').show();
$('.span').css('display');//block
</script>
<style type="text/css">
.p{display:list-item;}
</style>
<script type="text/javascript">
$('.p').css('display');//list-item
$('.p').hide();
$('.p').show();
$('.p').css('display');//list-item
</script>
inline-block隐藏再显示时会认为是block:
<style type="text/css">
.p{display:inline-block;}
</style>
<script type="text/javascript">
$('.p').css('display');//inline-block
$('.p').hide();
$('.p').show();
$('.p').css('display');//block
</script>
②如果元素css没有设置{display}的显示值,块状元素会block,行内元素会inline。
3、toggle是封装了的show和hide
借用官网的例子:
$('#foo').toggle(showOrHide);
//相当于
if ( showOrHide == true ) {
$('#foo').show();
} else if ( showOrHide == false ) {
$('#foo').hide();
}本文标题:jquery动画课程(1)--show,hide和toggle
文章作者:Мù
发布时间:2014-01-20
最后更新:2026-04-01
原始链接:https://blog.manys.cn/2014/01/20/jquery-effects-1-show-hide-toggle/
版权声明:本文章著作权归作者所有,任何形式的转载都请注明出处。