zoukankan      html  css  js  c++  java
  • jQuery的动画效果

    显/示隐藏/切换动画:

      

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style type="text/css">
            *{
                padding: 0;
                margin:0;
            }
            div{
                width: 500px;
                height: 500px;
                background-color: red;
                display: none;
            }
        </style>
        <script type="text/javascript" src="../../jquery-3.3.1.js"></script>
        <script type="text/javascript">
            var flag = true;
            $(function(){
                // let flag = true; //内部使用let才好使。
                $('.box1').click(function(){
                    $('div').show(2000);
                });
                $('.box2').click(function(){
                    $('div').hide(2000);
                });
                $('.box3').click(function(){
    
                    if(flag){
                        $('div').show(2000);
                        flag = false;
                    }else{
                        $('div').hide(2000);
                        flag = true;
                    }
                });
            })
        </script>
    </head>
    <body>
        
        <button class="box1">显示</button>
        <button class="box2">隐藏</button>
        <button class="box3">切换</button>
        <div></div>
    </body>
    </html>

    开关式显示隐藏动画:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style type="text/css">
            div{
                width: 200px;
                height: 200px;
                background-color: pink;
                display: none;
            }
        </style>
        <script type="text/javascript" src="../../jquery-3.3.1.js"></script>
        <script type="text/javascript">
            $(function(){
                $('#btn').click(function(){
                    $('div').toggle(2000,function(){
                        $(this).text('盒子出来了');
                        console.log($(this));
                        if($('#btn').text() =='隐藏'){
                            $('#btn').text('显示');
                        }else{
                            $('#btn').text('隐藏');
                        }
                    })
                })
            })
        </script>
    </head>
    <body>
        <button id="btn">显示</button>
        <div></div>
    </body>
    </html>

    滑入和滑出:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style type="text/css">
            div{
                width: 200px;
                height: 200px;
                background-color: skyblue;
                display: none;
            }
        </style>
        <script type="text/javascript" src="../../jquery-3.3.1.js"></script>
        <script type="text/javascript">
            var flag = true;
            $(function(){
                // let flag = true;
                $('.b1').click(function(){
                    $('div').slideDown(2000,function(){
                        $(this).text('滑出来了')
                        flag = false;
                    })
                })
                $('.b2').click(function() {
                    $('div').slideUp(2000,function(){
                        $(this).text('');
                        flag = true;
                    })
                });
                $('.b3').click(function(){
                    if(flag){
                        $('div').slideDown(2000,function(){
                        $(this).text('滑出来了')
                        flag = false;
                    })
                    }else{
                        $('div').slideUp(2000,function(){
                        $(this).text('');
                        flag = true;
                    })
                    }                
                })
            })
        </script>
    </head>
    <body>
        <button class="b1">滑入</button>
        <button class="b2">滑出</button>
        <button class="b3">切换滑动</button>
        <div></div>
    </body>
    </html>

    淡入淡出动画:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style type="text/css">
            div{
                width: 200px;
                height: 200px;
                background-color: pink;
                display: none;
            }
        </style>
        <script type="text/javascript" src="../../jquery-3.3.1.js"></script>
        <script type="text/javascript">
            $(function(){
                $('.b1').click(function(){
                    if($(this).text() == '淡入'){
                        $('div').fadeIn(2000);
                        $(this).text('淡出');
                    }else{
                        $('div').fadeOut(2000);
                        $(this).text('淡入');
                    }
                });
                $('.b2').click(function(){
                    $('div').fadeToggle(2000);
                })
            })
        </script>
    </head>
    <body>
        <button class="b1">淡入</button>
        <button class="b2">切换</button>
        <div></div>
    </body>
    </html>

    通过改变透明度,切换匹配元素的显示或隐藏状态:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style type="text/css">
            div{
                width: 300px;
                height: 300px;
                display: none;
                opacity:1;
                background-color: red;
            }
        </style>
        <script type="text/javascript" src="../../jquery-3.3.1.js"></script>
        <script type="text/javascript">
            $(function(){
                $('button:eq(0)').click(function(){
                    $('div').fadeIn(2000);
                })
                $('button:eq(1)').click(function(){
                    $('div').fadeOut(2000);
                });
                $('button:eq(2)').click(function(){
                    $('div').fadeToggle(1000);
                })
                $('button:eq(3)').click(function(){
                    $('div').fadeTo(1000,0.1,function(){
                        alert('更改透明度成功')
                    })
                })
            })
        </script>
    </head>
    <body>
        <button>淡入</button>
        <button>淡出</button>
        <button>切换</button>
        <button>改透明度0.5</button>
        <div></div>
    </body>
    </html>

    自定义动画:

    $(selector).animate({params}, speed, callback);

    作用:执行一组CSS属性的自定义动画。

      1,第一个参数表示:要执行动画的CSS属性(必选)。

      2,第二个参数表示:执行动画的时长。

      3,第三个参数表示:动画执行完毕后,立即执行的回调函数。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style type="text/css">
            div{
                position: absolute;
                width: 100px;
                height: 100px;
                background-color: red;
            }
        </style>
        <script type="text/javascript" src="../../jquery-3.3.1.js"></script>
        <script type="text/javascript">
            $(function(){
                $('button').click(function(){
                    var json = {
                        'width':500,
                        'height':500,
                        'left':300,
                        'top':300,
                        'border-radius':100
                    };
                    var json2 = {
                        'width':100,
                        'height':100,
                        'left':100,
                        'top':100,
                        'border-radius':50
                    };
                    $('div').animate(json,1000,function(){
                        $('div').animate(json2,1000,function(){
                            alert("执行完毕!");
                        })
                    })
                })
            })
        </script>
    </head>
    <body>
        <button>自定义动画</button>
        <div></div>
    </body>
    </html>

    停止动画:

    $(selector).stop(true, false);

    第一个参数:

      true:后续动画不执行。

      false:后续动画会执行。

    第二个参数:

      true:立即执行完成当前动画。

      false:立即停止当前动画。

    参数如果都不写,默认两个都是false。

    鼠标悬停时,弹出下拉菜单(下拉时带动画):

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style type="text/css">
            *{
                padding: 0;
                margin:0;
            }
            ul{
                list-style: none;
            }
            .wrap{
                width: 330px;
                height: 30px;
                margin:100px auto 0;
                padding-left: 10px;
                background-color: pink;
            }
    
            .wrap li{
                background-color: green;
            }
            .wrap>ul>li{
                float: left;
                margin-right: 10px;
                position: relative;
            }
    
            .wrap a{
                /*display: none;*/
                height: 30px;
                width: 100px;
                text-decoration: none;
                color: black;
                line-height: 30px;
                text-align:center;
            }
            .wrap li ul{
                position:absolute;
                top:30px;
                display: none;
            }
        </style>
        <script type="text/javascript" src='../../jquery-3.3.1.js'></script>
        <script type="text/javascript">
            $(document).ready(function(){
                var jqli = $('.wrap>ul>li');
                jqli.mouseenter(function(){
                    $(this).children('ul').stop().slideDown(1000);
                });
                jqli.mouseleave(function(){
                    $(this).children('ul').stop().slideUp(1000);
                });
            });
        </script>
    </head>
    <body>
        <div class="wrap">
            <ul>
                <li><a href="javascript:;">一级菜单1</a>
                    <ul>
                        <li><a href="javascript:;">一级菜单2</a></li>
                        <li><a href="javascript:;">一级菜单3</a></li>
                        <li><a href="javascript:;">一级菜单4</a></li>
                    </ul>
                </li>
                <li><a href="">二级菜单1</a>
                    <ul>
                        <li><a href="javascript:;"></a>二级菜单2</li>
                        <li><a href="javascript:;"></a>二级菜单3</li>
                        <li><a href="javascript:;"></a>二级菜单4</li>
                    </ul>
                </li>
                <li><a href="">三级菜单1</a>
                    <ul>
                        <li><a href="javascript:;">三级菜单2</a></li>
                        <li><a href="javascript:;">三级菜单3</a></li>
                        <li><a href="javascript:;">三级菜单4</a></li>
                    </ul>
                </li>
            </ul>
        </div>
    </body>
    </html>

    PS:

    javascript:void(0); //跟javascript:;效果一样

    上方代码中,关键的地方在于,用了stop函数,再执行动画前,先停掉之前的动画。

  • 相关阅读:
    bazel-编译静态库
    bazel-demo2_1
    160个creakme(八)
    适合新手的160个creakme(四)
    熊猫烧香病毒逆向分析
    适合新手的160个creakme(三)
    适合新手的160个creakme(二)
    适合新手的160个creakme(一)
    shell脚本练习题
    Core dump文件和ECFS
  • 原文地址:https://www.cnblogs.com/stfei/p/9119434.html
Copyright © 2011-2022 走看看