每天学点JQuery(4)—动画

本文详细介绍了JQuery中的动画效果,包括show/hide、fadeIn/fadeOut、slideUp/slideDown、animate及其参数用法。讲解了如何自定义动画、使用动画回调函数、停止动画的策略,以及toggle、slideToggle、fadeTo等方法。还提到了easing参数对动画速度的影响,以及如何用animate()方法替代特定的动画效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.show()和hide():通过改变高度,宽度,不透明度来显示/隐藏元素。

$(function(){
    $("a").hide()//通过hide方法隐藏元素
})

等价于
$(function(){
    $("a").css("display","none");
})


当把元素隐藏后,可以使用show()方法将元素的display样式设置为先前的显示状态("block""inline"或其他除了"none"之外的值)。

$(function(){
    $("a").show()//通过show方法显示元素
})

同时也可以为slow()和hide()指定时间参数,以毫秒为单位,还有几个速度关键字:slow(600毫秒),normal(400毫秒),fast(200毫秒)

$(function(){
    $("a").hide("slow")//以slow的速度值隐藏元素
})


$(function(){
    $("a").show(1000)//1秒显示元素
})

2.fadeIn()和fadeOut():通过改变元素的不透明度显示/隐藏元素

$(function(){
    $("a").fadeOut()//降低元素不透明度直到元素完全消失("display:none")
})

$(function(){
    $("a").fadeIn()//增加元素不透明度显示元素
})

与show()hide()一样,fadeOut()fadeIn()也可以添加时间参数。

3.slideUp()和slideDown()方法:通过改变元素的高度显示/隐藏元素

$(function(){
    $("a").slideUp()//元素由上至下延伸显示
})

$(function(){
    $("a").slideDown()//元素由下到上缩短隐藏
})

与show()hide()一样,fadeOut()fadeIn()也可以添加时间参数。

4.animate():自定义动画方法

animate(params,speed,callback);

params:一个包含样式属性及值得映射,比如{property1:”value1”,property1:”value1”,……}
speed:速度参数(毫秒单位),可选
callback:在动画完成时执行的函数,可选

为了能影响元素的top,left,bottom,right样式属性,必须把元素的position属性设置为relative或absolute。

$(function(){
    $("a").animate({left:"500px"},3000)//使元素在三秒内向右移动500像素
})

$(function(){
    $("a").animate({left:"+=500px"},3000)//从当前位置累加500像素
})

$(function(){
    $("a").animate({left:"500px"},3000)//使元素在三秒内向右移动500像素
})

$(function(){
    $("a").animate({left:"500px",height:"200px"},3000)//使元素在三秒内向右移动的同时放大元素的高度(同时执行)
})

$(function(){
    $("a").animate({left:"500px"},3000).animate({left:"500px"},3000)//使元素在三秒内向右移动500px,然后放大元素的高度(顺序执行)
})

5.动画回调函数:

如果在执行动画的过程中,在某一步动画执行结束后需要执行css()方法,那么并不能得到预期的效果,因为css()方法不会加入到动画队列中,而是立即执行,此时就需要通过回调函数对非动画方法实现排队,只要把css()方法写到前一步的回调函数中即可。

$(function(){
    $("a").animate({left:"500px"},3000)
    .animate({left:"500px"},3000),function(){
        $(this).css("border","1px solid red");
    })
})

6.停止动画:stop([clearQueue],[gotoEnd])

参数说明:
clearQueue(boolean):代表是否清空未执行完的动画队列
gotoEnd(boolean):代表是否直接将正在执行的动画跳转到末状态

直接调用stop(),则会立即停止当前正在进行的动画,如果接下来还有动画等待进行,则以当前状态开始接下来的动画。

7.延迟动画:

$(function(){
    $("a").delay(2000).animate({left:"500px",height:"200px"},3000)//延迟两秒后使元素在三秒内向右移动的同时放大元素的高度(同时执行)
})

8.其他动画方法:

(1)toggle(speed,[callback]):切换元素可见状态。

$(function(){
    $("a").toggle()//如果元素可见,切换为隐藏,如果元素隐藏,切换为可见
})

(2)slideToggle(speed,[easing],[callback]):通过高度改变元素可见状态

easing参数:规定动画在不同点的不同速度,”swing” - 在开头/结尾移动慢,在中间移动快,”linear” - 匀速移动,默认为swing。

$(function(){
    $("a").slideToggle()//如果元素可见,切换为隐藏,如果元素隐藏,切换为可见
})

(3)fadeTo(speed,opacity,[callback]):把元素的不透明度以渐进的方式调整到指定的值,注意只改变元素的不透明度。

$(function(){
    $("a").fadeTo(600,0.2)//渐渐调整到指定的不透明度(20%)
})

(4)fadeToggle(speed,[easing],[callback]):通过不透明度变化切换元素可见性

easing参数:规定动画在不同点的不同速度,”swing” - 在开头/结尾移动慢,在中间移动快,”linear” - 匀速移动,默认为swing。

$(function(){
    $("a").fadeToggle()//渐渐调整到指定的不透明度(20%)
})

可用animate()替代上述所有动画方法,在animate()方法中,这些特定样式的属性值可以为”show”,”hide”,”toggle”,也可以是自定义数值,例如:

$(function(){
    $("a").animate({height:"show",width:"show",opactity:"0.6"},400)
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值