zoukankan      html  css  js  c++  java
  • jQuery动画

    1. 基本效果

    show([s,[e],[fn]])        显示隐藏的匹配元素
    hide([s,[e],[fn]])        隐藏显示的元素
    toggle([s],[e],[fn])    如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的
    

    参数详解

    speed    : 三种预定速度之一的字符串("slow","normal", or "fast")或表示动画时长的毫秒数值(如:1000)
    easing    : (Optional) 用来指定切换效果,默认是"swing",可用参数"linear"
    fn        : 在动画完成时执行的函数,每个元素执行一次。
    

    2. 滑动效果

    slideDown([s],[e],[fn])        通过高度变化(向下增大)来动态地显示所有匹配的元素
    slideUp([s,[e],[fn]])        通过高度变化(向上减小)来动态地隐藏所有匹配的元素
    slideToggle([s],[e],[fn])    通过高度变化来切换所有匹配元素的可见性
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>滚动播放</title>
        <style>
            body {
                background:#ccc;
            }
            #box {
                margin:100px auto;
                width: 1000px;
                height: 460px;
                background:#ccc;
                overflow: hidden;
            }
    
            ul {
                list-style:none;
                padding:0;
                margin:0;
            }
            p {
                margin:0;
            }
            #box li {
                height:100px;
                margin-bottom:20px;
                background: #fff
            }
            #box li img{
                float:left;
                width:100px;
                height: 100px;
            }
            #box li p {
                float:right;
                width:850px;
                line-height: 100px;
                height:100px;
            }
        </style>
    </head>
    <body>
        <div id="box">
            <ul id="newsList">
                <li>
                    <img src="../../dist/images_one/meinv02.jpg" alt="">
                    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsum, ea.</p>
                </li>
    
                <li>
                    <img src="../../dist/images_one/1.jpg" alt="">
                    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsum, ea.</p>
                </li>
    
                <li>
                    <img src="../../dist/images_one/2.jpg" alt="">
                    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsum, ea.</p>
                </li>
    
                <li>
                    <img src="../../dist/images_one/3.jpg" alt="">
                    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsum, ea.</p>
                </li>
    
                <li>
                    <img src="../../dist/images_one/4.jpg" alt="">
                    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsum, ea.</p>
                </li>
    
                <li>
                    <img src="../../dist/images_one/11.jpg" alt="">
                    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsum, ea.</p>
                </li>
    
                <li>
                    <img src="../../dist/images_one/10.jpg" alt="">
                    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsum, ea.</p>
                </li>
    
                <li>
                    <img src="../../dist/images_one/9.jpg" alt="">
                    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsum, ea.</p>
                </li>
    
                <li>
                    <img src="../../dist/images_one/8.jpg" alt="">
                    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsum, ea.</p>
                </li>
            </ul>
        </div>
    
    
        <script src="../jquery-3.3.1.js"></script>
        <script>
            $(function(){
                setInterval(function(){
                    $('#box li').eq(3).fadeTo(500, 0, function(){
                        $('#box li').last().fadeTo(0,1).hide().prependTo('#newsList').slideDown();
                    })
                }, 2000)
            })
        </script>
    </body>
    </html>
    应用:新闻滚动播放

    参数详解

    speed    : 三种预定速度之一的字符串("slow","normal", or "fast")或表示动画时长的毫秒数值(如:1000)
    easing    : (Optional) 用来指定切换效果,默认是"swing",可用参数"linear"
    fn        : 在动画完成时执行的函数,每个元素执行一次。
    

    3 淡入淡出效果

    fadeIn([s],[e],[fn])        通过不透明度的变化来实现所有匹配元素的淡入效果
    fadeOut([s],[e],[fn])        通过不透明度的变化来实现所有匹配元素的淡出效果
    fadeToggle([s,[e],[fn]])    通过不透明度的变化来开关所有匹配元素的淡入和淡出效果
    fadeTo([[s],o,[e],[fn]])    把所有匹配元素的不透明度以渐进方式调整到指定的不透明度
    

    参数详解

    speed    : 三种预定速度之一的字符串("slow","normal", or "fast")或表示动画时长的毫秒数值(如:1000)
    easing    : (Optional) 用来指定切换效果,默认是"swing",可用参数"linear"
    fn        : 在动画完成时执行的函数,每个元素执行一次。
    
    opacity    : (用户fadeTo)一个0至1之间表示透明度的数字。
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            #box {
                width: 300px;
                border: 2px solid pink;
            }
    
            img {
                width: 300px;
            }
        </style>
    </head>
    <body>
        <h1>动画效果</h1>
        <hr>
    
        <button id="hide_btn">隐藏</button>
        <button id="show_btn">显示</button>
        <button id="toggle_btn">切换</button>
        <br>
    
        <button id="slideDownBtn">slideDown显示</button>
        <button id="slideUpBtn">slideUp隐藏</button>
        <button id="slideToggleBtn">slideToggle切换</button>
    
        <br>
        <button id="fadeOutBtn">淡出</button>
        <button id="fadeInBtn">淡入</button>
        <button id="fadeToggleBtn">切换</button>
        <button id="fadeToBtn">fadeTo</button>
    
        <br>
        <br>
        <br>
    
         <div id="box">
            <img src="../../dist/images_one/10.jpg" alt="">
        </div>
    
    
    
        <script src="../jquery-3.3.1.js"></script>
        <script>
            $(function(){
    
                //淡入淡出效果
                $('#fadeOutBtn').on('click', function(){
    
                    //$('#box').fadeOut()
                    $('#box').fadeOut(2000)  // 通过不透明度的变化来实现所有匹配元素的淡出效果,淡出后不再占据位置,k可以设置时间
                })
                $('#fadeInBtn').on('click', function(){
    
                    //$('#box').fadeOut()
                    $('#box').fadeIn(5000)   //  通过不透明度的变化来实现所有匹配元素的淡入效果,可以将淡出的元素在淡入显示出来
                })
                $('#fadeToggleBtn').on('click', function(){
    
                    //$('#box').fadeOut()
                    $('#box').fadeToggle(2000)      // 通过不透明度的变化来开关所有匹配元素的淡入和淡出效果,即可以实现淡入淡出的来回切换
                });
                $('#fadeToBtn').on('click', function(){
                    /*$('#box').fadeTo(3000, .5, function(){
                        console.log('fadeTo')
                    })*/
                    //alert('ok')
                    $('#box').fadeTo(1000, .5)     // 把所有匹配元素的不透明度以渐进方式调整到指定的不透明度
                })
    
    
                //滑动效果
                $('#slideUpBtn').on('click', function(){
                    //$("#box").slideUp();
                    //$("#box").slideUp('slow');
                    //$("#box").slideUp(3000);
                    $("#box").slideUp(3000, function(){   //将元素向上进行滑动隐藏
    
                    });
                });
    
                $('#slideDownBtn').on('click', function(){
                    $('#box').slideDown(5000)     //将元素进行向下滑动进行显示
                })
    
    
                //基本效果
                $('#hide_btn').click(function(){
                    //$('#box').hide();
                    //$('#box').hide('fast');
                    //$('#box').hide('normal');
                    //$('#box').hide('slow');
                    //$('#box').hide(5000);       //隐藏显示的元素,以左上角为中心
                    $('#box').hide(2000, function(){
                        console.log('啊,我隐藏了');
                    });
                });
    
                $('#show_btn').click(function(){
                    $('#box').show(3000)      //显示隐藏的元素
                });
                $('#toggle_btn').click(function(){
                    $('#box').toggle(3000, function(){      //元素在显示与隐藏来回进行切换
                        console.log('toggle');
                    })
                })
            })
        </script>
    </body>
    </html>

    4 自定义动画

    animate(p,[s],[e],[fn])
    

    参数详解

    params    : 一组包含作为动画属性和终值的样式属性和及其值的集合
    speed    : 三种预定速度之一的字符串("slow","normal", or "fast")或表示动画时长的毫秒数值(如:1000)
    easing    : 要使用的擦除效果的名称(需要插件支持).默认jQuery提供"linear" 和 "swing".
    fn        : 在动画完成时执行的函数,每个元素执行一次。
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            #box {
                overflow: hidden;
                width:400px;
                height:200px;
                border:2px solid #ccc;
                padding:20px;
            }
        </style>
    </head>
    <body>
        <h1>自定义动画</h1>
        <hr>
        <button id="btn">隐藏</button>
        <button id="btn1">显示</button>
        <button id="btn2">切换</button>
    
        <hr>
        <div id="box">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quas et necessitatibus cumque accusamus iure eius expedita, dolore, nobis ut maiores dignissimos consectetur saepe repudiandae, libero molestias deserunt veritatis facere vitae.</div>
    
        <script src="../jquery-3.3.1.js"></script>
        <script>
            $(function(){
                $('#btn').click(function(){
                    $('#box').animate({
                        'width':'0px',        //自定义向左隐藏
                        'padding-left':'0px',
                        'padding-right':'0px'    
                    }, 2000, function(){
                        $(this).hide();
                    })
                });
    
    
                $('#btn1').click(function(){
                    $('#box').show().animate({
                        'width':'400px',
                        'padding-left':'20px',
                        'padding-right':'20px'    
                    }, 2000)
                });
    
    
                $('#btn2').click(function(){
                    $('#box').animate({
                        'width':'toggle',
                        'padding-left':'toggle',
                        'padding-right':'toggle'    
                    }, 2000)
                })
            })
        </script>
    </body>
    </html>
    自定义动画

    5 动画控制

    stop([c],[j])        停止所有在指定元素上正在运行的动画
    delay(d,[q])        设置一个延时来推迟执行队列中之后的项目
    finish([queue])        停止当前正在运行的动画,删除所有排队的动画,并完成匹配元素所有的动画
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            #box {
                overflow: hidden;
                width:400px;
                height:200px;
                border:2px solid #ccc;
                padding:20px;
            }
        </style>
    </head>
    <body>
        <h1>动画控制</h1>
        <hr>
        <button id="btn">隐藏</button>
        <button id="btn1">显示</button>
        <button id="btn2">切换</button>
    
        <br>
        <button id="btn3">动画</button>
        <button id="btn4">finish</button>
        <button id="btn5">stop</button>
    
        <hr>
        <div id="box">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quas et necessitatibus cumque accusamus iure eius expedita, dolore, nobis ut maiores dignissimos consectetur saepe repudiandae, libero molestias deserunt veritatis facere vitae.</div>
    
        <script src="../jquery-3.3.1.js"></script>
        <script>
    
    
            $(function(){
    
                $('#btn4').on('click', function() {
                    $('#box').finish();
                })
    
                $('#btn5').on('click', function() {
                    $('#box').stop();
                })
    
                $('#btn3').on('click', function(){
                    //如果 box元素 正在执行  return false
                    if ($('#box').is(':animated')) {
                        return false;
                    }
    
                    //动画队列 delay
                    $('#box').slideUp(3000).delay(2000).show(2000).fadeOut(2000).slideDown(3000)
                })
    
                $('#btn').click(function(){
                    $('#box').animate({
                        'width':'0px',
                        'padding-left':'0px',
                        'padding-right':'0px'    
                    }, 2000, function(){
                        $(this).hide();
                    })
                });
    
    
                $('#btn1').click(function(){
                    $('#box').show().animate({
                        'width':'400px',
                        'padding-left':'20px',
                        'padding-right':'20px'    
                    }, 2000)
                });
    
    
                $('#btn2').click(function(){
                    $('#box').animate({
                        'width':'toggle',
                        'padding-left':'toggle',
                        'padding-right':'toggle'    
                    }, 5000)
                })
            })
        </script>
    </body>
    </html>
    动画控制

    6 设置

    //关闭页面上所有的动画
    jQuery.fx.off = true;
  • 相关阅读:
    storm中DAU实时计算方案
    冒泡排序
    跨域
    关于java面试题
    vue+npm+Element插件+路由
    Android云端APP
    js图片预览带进度条
    jQuery上传文件显示进度条
    SSM+form表单文件上传
    SSM批量添加数据
  • 原文地址:https://www.cnblogs.com/sui776265233/p/9534874.html
Copyright © 2011-2022 走看看