jQuery基础---动画效果

5.列队动画方法

6.动画相关方法

7.动画全局属性

 发文不易,转载请注明出处~

一.显示、隐藏

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

$(\'.show\').click(function () { //显示

  $(\'#box\').show();

});

$(\'.hide\').click(function () { //隐藏

  $(\'#box\').hide();

});

PS:.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 毫秒

});

PS :不管是传递毫秒数还是传递预设字符串, 如果不小心传递错误或者传递空字符串。那么它将采用默认值: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);

  });

});

.toggle() 方法实现显示和隐藏:

我们在使用.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

});

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

四.自定义动画

jQuery 提供了几种简单常用的固定动画方面我们使用。 但有些时候, 这些简单动画无法满足我们更加复杂的需求。这个时候,jQuery 提供了一个.animate()方法来创建我们的自定义动画,满足更多复杂多变的要求。

$(\'.animate\').click(function () {

  $(\'#box\').animate({

    \'width\' : \'300px\',

    \'height\' : \'200px\',

    \'fontSize\' : \'50px\',

    \'opacity\' : 0.5

  });

});

PS:一个 CSS 变化就是一个动画效果,上面的例子中,已经有四个 CSS 变化,已经实现了多重动画同步运动的效果

.animate()方法必传的参数只有一个,就是一个键值对 CSS 变化样式的对象。还有两个可选参数分别为速度和回调函数。

$(\'.animate\').click(function () {

  $(\'#box\').animate({

    \'width\' : \'300px\',

    \'height\' : \'200px\'

  }, 1000, function () {

    alert(\'动画执行完毕执行我!\');

  });

});

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwsfjf.html