• jQuery系列---【jQuery中的动画】


    显示与隐藏

    show(),hide(),toggle()
    // jQuery对象.show(speed, easing, callback): 显示
    // jQuery对象.hide(speed, easing, callback): 隐藏
    // jQuery对象.toggle(speed, easing, callback): 显示/隐藏切换
    // speed: 动画时间 slow(600ms) normal(400ms) fast(200ms)
    // easing: 运动曲率 linear(线性的) swing(开头结尾慢,中间快)
    // callback: 回调函数
    $('button').eq(0).click(function () {
        $('div').show();
    });
    $('button').eq(1).click(function () {
        $('div').hide();
    });
    $('button').eq(2).click(function () {
        $('div').toggle();
    });
    $('button').eq(3).click(function () {
        $('div').show(1000, function () {
            console.log('show--done');
        });
    });
    $('button').eq(4).click(function () {
        $('div').hide(1000, function () {
            console.log('hide--done');
        });
    });
    $('button').eq(5).click(function () {
        $('div').toggle(1000, function () {
            console.log('toggle--done');
        });
    });
    

    改变透明度

    fadeIn(), fadeOut(), fadeToggle(), fadeTo()
    // jQuery对象.fadeIn(speed, callback): 淡入
    // jQuery对象.fadeOut(speed, callback): 淡出
    // jQuery对象.fadeToggle(speed, callback): 淡入/淡出切换
    // jQuery对象.fadeTo(speed, 透明度, callback): 淡入到具体的透明度
    $('button').eq(0).click(function () {
        $('div').fadeIn();
    });
    $('button').eq(1).click(function () {
        $('div').fadeOut();
    });
    $('button').eq(2).click(function () {
        $('div').fadeToggle();
    });
    $('button').eq(3).click(function () {
        $('div').fadeIn(1000);
    });
    $('button').eq(4).click(function () {
        $('div').fadeOut(1000);
    });
    $('button').eq(5).click(function () {
        $('div').fadeToggle(1000, function () {
            console.log('toggle--done');
        });
    });
    
    $('button').eq(6).click(function () {
        $('div').fadeTo(1000, 0.5, function () {
            console.log('fadeTo--done');
        });
    });
    

    改变高度

    slideDown(),slideUp,slideToggle()
    // jQuery对象.slideDown(speed, callback): 下滑展开
    // jQuery对象.slideUp(speed, callback): 上滑收起
    // jQuery对象.slideToggle(speed, callback): 下滑展开/上滑收起切换
    $('button').eq(0).click(function () {
        $('div').slideDown();
    });
    $('button').eq(1).click(function () {
        $('div').slideUp();
    });
    $('button').eq(2).click(function () {
        $('div').slideToggle();
    });
    $('button').eq(3).click(function () {
        $('div').slideDown(1000);
    });
    $('button').eq(4).click(function () {
        $('div').slideUp(1000);
    });
    $('button').eq(5).click(function () {
        $('div').slideToggle(1000, function () {
            console.log('toggle--done');
        });
    });
    

    自定义运动

    animate()
    // jQuery对象.animate(终点json, 动画时间, 运动曲率, 回调函数)
    $('div').click(function () {
        // 单一属性运动
        // $('div').animate({ left: 500 });
        // 可以指定动画时间
        // $('div').animate({ left: 500 }, 2000);
        // 添加回调函数
        // $('div').animate({ left: 500 }, 2000, function () {
        //     $('div').css('background', 'orange');
        //     console.log('animate--done');
        // });
    
        // 加等
        // $('div').animate({ left: '+=200' }, 2000);
    
        // 多个属性同时运动
        // $('div').animate({ left: 500, top: 100 }, 2000);
    
        // 链式动画
        // $('div')
        //     .animate({ left: 500 }, 2000)
        //     .animate({ top: 500 }, 2000)
        //     .animate({ left: 0 }, 2000)
        //     .animate({ top: 0 }, 2000);
    
        // 对同一元素的不同动画会排队,不同元素互不影响
        // $('div').animate({ left: 500 }, 2000);
        // $('div').animate({ top: 500 }, 2000);
    });
    

    延迟动画

    jQuery对象.delay(时间); 即动画停顿多长时间,单位毫秒

    $('#box').click(function () {
    $(this)
    .animate({  300 }, 3000)
    .delay(3000) // 延迟动画
    .animate({ height: 300 }, 3000);
    });
    

    停止运动

    jQuery对象.stop(clearQueue, gotoEnd);

    ​ clearQueue:代表是否要清空未执行完的动画队列,默认false。

    ​ gotoEnd:代表是否直接将正在执行的动画跳转到末状态,默认false。

    jQuery对象.finish(); 所有动画都到未状态

    var btn = $('button');
    var box = $('#box');
    box.click(function () {
    $(this)
    .animate({  300 }, 3000)
    .animate({ height: 300 }, 3000);
    });
    // 停止
    btn.click(function () {
    // box.stop(); // 停止当前的运动,继续执行后续的运动
    // box.stop(true); // 停止当前的运动,清空后续运动
    // box.stop(true, true); // 当前动画跳转到未状态,清空后续的动画
    box.finish(); // 所有的动画到未状态
    });
    
    
  • 相关阅读:
    基于redis实现rpc服务注册
    手写web服务器:实现简单filter逻辑
    手写controller、requestMapping注解,实现简单请求
    docker 制作自己的镜像
    MySqlConnector.MySqlException (0x80004005): Table '****' doesn't 解决方法
    在docker 容器中安装vim
    VM CentOS 安装Docker
    win 10的VM上安装centOS后的网络连接
    js数组方法大全
    Netcore使用Filter来实现接口的全局异常拦截
  • 原文地址:https://www.cnblogs.com/chenhaiyun/p/14651058.html
Copyright © 2020-2023  润新知