[jQuery知识]jQuery之知识十-动画初级

前言

在以前很长一段时间里,网页上的各种特效还需要采用 flash 在进行。但最近几年里, 我们已经很少看到这种情况了,绝大部分已经使用 JavaScript 动画效果来取代 flash。这里 说的取代是网页特效部分,而不是动画。网页特效比如:渐变菜单、渐进显示、图片轮播等; 而动画比如:故事情节广告、MV 等等。

1.显示、隐藏
2.滑动、卷动
3.淡入、淡出

一.显示、隐藏

jQuery 中显示方法为:.show(),隐藏方法为:.hide()。在无参数的时候,只是硬性的显 示内容和隐藏内容。


$('.show').click(function () { //显示 
$('#box').show();
});

$('.hide').click(function () { //隐藏
$('#box').hide(); 
});

注意:.hide()方法其实就是在行内设置 CSS 代码:display:none; 而.show()方法要根据原 来元素是区块还是内联来决定,如果是区块,则设置 CSS 代码:display:block; 如果是内联, 则设置 CSS 代码:display:inline;。

在.show()和.hide()方法可以传递一个参数,这个参数以毫秒(1000 毫秒等于 1 秒钟)来控 制速度。并且里面富含了匀速变大变小,以及透明度变换。

$('.show').click(function () { 
$('#box').show(1000);//显示用了 1 秒
});

$('.hide').click(function () {
$('#box').hide(1000);//隐藏用了 1 秒
});

除了直接使用毫秒来控制速度外,jQuery 还提供了三种预设速度参数字符串:slow、 normal 和 fast,分别对应 600 毫秒、400 毫秒和 200 毫秒。

$('.show').click(function () { 
$('#box').show('fast');//200 毫秒
});


$('.hide').click(function () {
$('#box').hide('slow');//600 毫秒
});

注意:不管是传递毫秒数还是传递预设字符串,如果不小心传递错误或者传递空字符串。 那么它将采用默认值:400 毫秒。

$('.show').click(function () {
$('#box').show(''); //默认 400 毫秒
});
//使用.show()和.hide()的回调函数,可以实现列队动画效果。 $('.show').click(function () {
$('#box').show('slow', function () {
 alert('动画持续完毕后,执行我!');
}); });




//列队动画,使用函数名调用自身
 $('.show').click(function () {
$('div').first().show('fast', function showSpan() { $(this).next().show('fast', showSpan);
}); });





//列队动画,使用 arguments.callee 匿名函数自调用 $('.hide').click(function () {
$('div').last().hide('fast', function() { $(this).prev().hide('fast', arguments.callee);
}); });

我们在使用.show()和.hide()的时候,如果需要一个按钮切换操作,需要进行一些条件判 断。而 jQuery 提供给我们一个类似功能的独立方法:.toggle()。

$('.toggle').click(function () {
 $(this).toggle('slow');
});

二.滑动、卷动

jQuery 提供了一组改变元素高度的方法:.slideUp()、.slideDown()和.slideToggle()。顾名 思义,向上收缩(卷动)和向下展开(滑动)。

$('.down').click(function () { 
$('#box').slideDown();
});

$('.up').click(function () { 
$('#box').slideUp();
});

$('.toggle').click(function () { 
$('#box').slideToggle();
});

注意:滑动、卷动效果和显示、隐藏效果一样,具有相同的参数。

三.淡入、淡出

jQuery 提供了一组专门用于透明度变化的方法:.fadeIn()和.fadeOut(),分别表示淡入、 淡出,当然还有一个自动切换的方法:.fadeToggle()。

$('.in').click(function () { 
$('#box').fadeIn('slow');
});

$('.out').click(function () { 
$('#box').fadeOut('slow');
});

$('.toggle').click(function () { 
$('#box').fadeToggle();
});

上面三个透明度方法只能是从 0 到 100,或者从 100 到 0,如果我们想设置指定值就没 有办法了。而 jQuery 为了解决这个问题提供了.fadeTo()方法。

$('.toggle').click(function () {
$('#box').fadeTo('slow', 0.33); //0.33 表示值为 33
});

注意:淡入、淡出效果和显示、隐藏效果一样,具有相同的参数。对于.fadeTo()方法, 如果本身透明度大于指定值,会淡出,否则相反。

继续看下一章[jQuery知识]jQuery之知识体系

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

图解AI

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值