[jQuery教程]动画基础隐藏和显示(十五)

目录
文章目录隐藏
  1. jQuery 中隐藏元素的 hide 方法
  2. jQuery 中显示元素的 show 方法
  3. jQuery 中显示与隐藏切换 toggle 方法

[jQuery 教程]动画基础隐藏和显示

动画制作是很重要的环节,在本章中先介绍基本动画方法,如何隐藏、显示和隐藏/显示切换的效果。

jQuery 中隐藏元素的 hide 方法

让页面上的元素不可见,一般可以通过设置 css 的 display 为 none 属性。但是通过 css 直接修改是静态的布局,如果在代码执行的时候,一般是通过 js 控制元素的 style 属性,这里 jQuery 提供了一个快捷的方法.hide()来达到这个效果。

$elem.hide()

提供参数:

.hide( options )

当提供 hide 方法一个参数时,.hide()就会成为一个动画方法。.hide()方法将会匹配元素的宽度,高度,以及不透明度,同时进行动画操作。

快捷参数:

.hide("fast / slow")

这是一个动画设置的快捷方式,’fast’ 和 ‘slow’ 分别代表 200 和 600 毫秒的延时,就是元素会执行 200/600 毫秒的动画后再隐藏。

注意:

jQuery 在做 hide 操作的时候,是会保存本身的元素的原始属性值,再之后通过对应的方法还原的时候还是初始值。比如一个元素的 display 属性值为 inline,那么隐藏再显示时,这个元素将再次显示 inline。一旦透明度 达到 0,display 样式属性将被设置为 none,这个元素将不再在页面中影响布局。

jQuery 中显示元素的 show 方法

css 中有 display:none 属性,同时也有 display:block,所以 jQuery 同样提供了与 hide 相反的 show 方法

方法的使用几乎与 hide 是一致的,hide 是让元素显示到隐藏,show 则是相反,让元素从隐藏到显示

看一段代码:使用上一致,结果相反

$('elem').hide(3000).show(3000)

让元素执行 3 秒的隐藏动画,然后执行 3 秒的显示动画。

show 与 hide 方法是非常常用的,但是一般很少会基于这 2 个属性执行动画,大多情况下还是直接操作元素的显示与隐藏为主。

注意事项:

  • show 与 hide 方法是修改的 display 属性,通过是 visibility 属性布局需要通过 css 方法单独设置;
  • 如果使用!important 在你的样式中,比如 display: none !important,如果你希望.show()方法正常工作,必须使用.css(‘display’, ‘block !important’)重写样式;
  • 如果让 show 与 hide 成为一个动画,那么默认执行动画会改变元素的高度,高度,透明度。

jQuery 中显示与隐藏切换 toggle 方法

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 的相互切换的一个快捷方法。

「点点赞赏,手留余香」

2

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » [jQuery教程]动画基础隐藏和显示(十五)

发表回复