• 第 11 章 动画效果


    学习要点:
    1.显示、隐藏
    2.滑动、卷动
    3.淡入、淡出
    4.自定义动画
    5.列队动画方法
    6.动画相关方法
    7.动画全局属性

    一. 显示、隐藏
    jQuery 中显示方法为:.show(),隐藏方法为:.hide()。在无参数的时候,只是硬性的显
    示内容和隐藏内容。
    $('.show').click(function () { //显示
    $('#box').show();
    });
    $('.hide').click(function () { //隐藏
    $('#box').hide();
    });

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

    除了直接使用毫秒来控制速度外,jQuery 还提供了三种预设速度参数字符串:slow、
    normal 和 fast,分别对应 600 毫秒、400 毫秒和 200 毫秒。默认 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 提供了一个.animate()方法来创建我们的自定
    义动画,满足更多复杂多变的要求。

    $('.animate').click(function () {
    $('#box').animate({
    'width' : '300px',
    'height' : '200px',
    'fontSize' : '50px',
    'opacity' : 0.5
    });
    });

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

    $('.animate').click(function () {
    $('#box').animate({
    'width' : '300px',
    'height' : '200px'
    }, 1000, function () {
    alert('动画执行完毕执行我!');
    });
    });

    到目前位置,我们都是创建的固定位置不动的动画。如果想要实现运动状态的位移动画,
    那就必须使用自定义动画,并且结合 CSS 的绝对定位功能。
    $('.animate').click(function () {
    $('#box').animate({
    'top' : '300px', //先必须设置 CSS 绝对定位
    'left' : '200px'
    });
    });
    自定义动画中,每次开始运动都必须是初始位置或初始状态,而有时我们想通过当前位
    置或状态下再进行动画。jQuery 提供了自定义动画的累加、累减功能。
    $('.animate').click(function () {
    $('#box').animate({
    'left' : '+=100px',
    });
    });
    自定义实现列队动画的方式,有两种:1.在回调函数中再执行一个动画;2.通过连缀或
    顺序来实现列队动画。
    //通过依次顺序实现列队动画
    $('.animate').click(function () {
    $('#box').animate({'left' : '100px'});
    $('#box').animate({'top' : '100px'});
    $('#box').animate({'width' : '300px'});
    });
    注意:如果不是同一个元素,就会实现同步动画
    //通过连缀实现列队动画
    $('.animate').click(function () {
    $('#box').animate({
    'left' : '100px'
    }).animate({
    'top' : '100px'
    }).animate({
    'width' : '300px'
    });
    });
    //通过回调函数实现列队动画
    $('.animate').click(function () {
    $('#box').animate({
       'left' : '100px'
    }, function () {
    $('#box').animate({
      'top' : '100px'
    }, function () {
    $('#box').animate({
      'width' : '300px'
    });
    });
    });
    });

  • 相关阅读:
    知识点--Alzheimer disease
    基因组关联分析技术的简介
    数量遗传与植物育种—李慧慧
    windows下的python安装pysam报错
    【数据库】本地NR数据库如何按物种拆分?
    【数据库】本地KEGG数据库如何拆分子库?
    国内育种服务商
    【机器学习与R语言】13- 如何提高模型的性能?
    【机器学习与R语言】12- 如何评估模型的性能?
    【机器学习与R语言】11- Kmeans聚类
  • 原文地址:https://www.cnblogs.com/Xuman0927/p/6019084.html
Copyright © 2020-2023  润新知