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

xiaoxiao2021-02-28  47

前言

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

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

一.显示、隐藏

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

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

注意:.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 秒 }); 1234567 1234567

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

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

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

$('.show').click(function () { $('#box').show(''); //默认 400 毫秒 }); 123 123 //使用.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); }); }); 1234567891011121314151617181920 1234567891011121314151617181920

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

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

二.滑动、卷动

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

$('.down').click(function () { $('#box').slideDown(); }); $('.up').click(function () { $('#box').slideUp(); }); $('.toggle').click(function () { $('#box').slideToggle(); }); 1234567891011 1234567891011

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

三.淡入、淡出

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

$('.in').click(function () { $('#box').fadeIn('slow'); }); $('.out').click(function () { $('#box').fadeOut('slow'); }); $('.toggle').click(function () { $('#box').fadeToggle(); }); 1234567891011 1234567891011

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

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

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

转载请注明原文地址: https://www.6miu.com/read-46414.html

最新回复(0)