zoukankan      html  css  js  c++  java
  • jQuery---4. 常用API(jQuery效果)

    3. jQuery效果

    3.1 显示和隐藏效果

    jQuery中的方法可以查询手册:jQuery_3.3.1_API

    • show()

    • hide()

    • toggle()

    <body>
        <button>显示</button>
        <button>隐藏</button>
        <button>切换</button>
        <div></div>
        <script>
            $(function() {
                $("button").eq(0).click(function() {
                    $("div").show(1000, function() {
                        alert(11);
                    });
                })
    
                $("button").eq(1).click(function() {
                    $("div").hide(1000, function() {
                        alert(11);
                    });
                })
    
                $("button").eq(2).click(function() {
                        $("div").toggle(1000, function() {});
                    })
                    //实际开发中一般都不加参数,直接显示隐藏
            });
        </script>
    </body>
    

    3.2 滑动效果

    • slideDown()

    • slideUp()

    • slideToggle()

    <body>
        <button>下拉滑动</button>
        <button>上拉滑动</button>
        <button>切换滑动</button>
        <div></div>
        <script>
            $(function() {
                $("button").eq(0).click(function() {
                    //下滑动slideDown
                    $("div").slideDown();
                });
    
                $("button").eq(1).click(function() {
                    //上滑动slideUp()
                    $("div").slideUp(500);
                });
    
                $("button").eq(2).click(function() {
                    //下滑动slideToggle()
                    $("div").slideToggle();
                });
            });
        </script>
    </body>
    

    案例:对之前新浪菜单的改进

    <body>
        <ul class="nav">
            <li>
                <a href="#">微博</a>
                <ul>
                    <li>
                        <a href="">私信</a>
                    </li>
                    <li>
                        <a href="">评论</a>
                    </li>
                    <li>
                        <a href="">@我</a>
                    </li>
                </ul>
            </li>
            <li>...</li>
            <li>...</li>
            <li>...</li>
        </ul>
        <script>
            $(function() {
                 $(".nav>li").mouseover(function() {
                     $(this).children("ul").slideDown();
                 })
                 $(".nav>li").mouseout(function() {
                     $(this).children("ul").slideUp();
                 })
            })
        </script>
    </body>
    

    3.3 事件切换

    鼠标经过和离开的符复合写法


    上述菜单栏代码可以简化为

    <script>
        $(function() {
            //上述代码可以用以下代码简化
            //1. 事件切换
            //hover(function(){},function(){})
            $(".nav>li").hover(function() {
                $(this).children("ul").slideDown();
            }, function() {
                $(this).children("ul").slideUp();
            })
        })
    </script>
    

    注意:若hover只写一个函数,那么鼠标经过和鼠标离开都会触发这个函数。上述代码可以继续简化为:

    <script>
        $(function() {
            //2.事件切换
            //hover(function(){})
            $(".nav>li").hover(function() {
                $(this).children("ul").slideToggle();
            })
        })
    </script>
    

    3.4 动画队列及其排队方法

    1. 动画或效果队列

    2. 停止排队


    即:无论触发多少次,只保留最近的以此触发。修复之前新浪菜单中的小bug

    <script>
        $(function() {
            //2.事件切换
            //hover(function(){})
            $(".nav>li").hover(function() {
                //stop()必须写在动画的前面
                $(this).children("ul").stop().slideToggle();
            })
        })
    </script>
    

    3.5 淡入淡出效果

    • fadeIn

    • fadeOut

    • fadeToggle

    • fadeTo()利用渐进方式调整到指定的不透明度
      参数opacity和speed都是必须要写的参数

    <body>
        <button>淡入效果</button>
        <button>淡出效果</button>
        <button>淡入淡出切换</button>
        <button>修改透明度</button>
        <div></div>
        <script>
            $(function() {
                $("button").eq(0).click(function() {
                    //淡入 fadeIn
                    $("div").fadeIn(1000);
                });
                $("button").eq(1).click(function() {
                    //淡出 fadeOut
                    $("div").fadeOut(1000);
                });
                $("button").eq(2).click(function() {
                    //淡入淡出切换 fadeToggle
                    $("div").fadeToggle(1000);
                });
                $("button").eq(3).click(function() {
                    //修改透明度 fadeTo  参数speed和opacity必须写
                    $("div").fadeTo(1000, 0.5);
                });
            })
        </script>
    </body>
    

    案例:

    <body>
        <div class="wrap">
            <ul>
                <li>
                    <a href="#"><img src="images/01.jpg" alt="" /></a>
                </li>
                <li>
                    <a href="#"><img src="images/02.jpg" alt="" /></a>
                </li>
                <li>
                    <a href="#"><img src="images/03.jpg" alt="" /></a>
                </li>
                <li>
                    <a href="#"><img src="images/04.jpg" alt="" /></a>
                </li>
                <li>
                    <a href="#"><img src="images/05.jpg" alt="" /></a>
                </li>
                <li>
                    <a href="#"><img src="images/06.jpg" alt="" /></a>
                </li>
            </ul>
        </div>
    </body>
    
    <script src="jquery.min.js"></script>
    <script>
        $(function() {
            // 鼠标进入的时候,其他的li标签透明度:0.5
            $(".wrap li").hover(function() {
                $(this).siblings().stop().fadeTo(400, 0.5);
            }, function() {
                //鼠标离开其他的li透明的改为1
                $(this).siblings().stop().fadeTo(400, 1);
            })
            //所有动画都有排队
        })
    </script>
    

    3.6 自定义动画animate


    第一个参数params可以有很多个

    <body>
        <button>动起来</button>
        <div></div>
        <script>
            $(function() {
                $("button").click(function() {
                    $("div").animate({
                        left: 500,
                        top: 300,
                        opacity: .5,
                         500
                    }, 500);
                    //left,top,opacity,width属于第一个参数params,500是第二个参数[speed]
                })
            })
        </script>
    </body>
    

    案例:王泽荣耀手风琴案例


    <body>
        <script src="js/jquery.min.js"></script>
        <script type="text/javascript">
            $(function() {
                $(".king li").mouseenter(function() {
    
                    $(this).stop().animate({
                         224
                    }, 200).find(".small").stop().fadeOut().siblings(".big").stop().fadeIn();
    
                    $(this).siblings("li").stop().animate({
                         69
                    }, 200).find(".small").stop().fadeIn().siblings(".big").stop().fadeOut();
                })
            })
        </script>
        <div class="king">
            <ul>
                <li class="current">
                    <a href="#">
                        <img src="images/m1.jpg" alt="" class="small">
                        <img src="images/m.png" alt="" class="big">
                    </a>
                </li>
                <li>
                    <a href="#">
                        <img src="images/l1.jpg" alt="" class="small">
                        <img src="images/l.png" alt="" class="big">
                    </a>
                </li>
                <li>
                    <a href="#">
                        <img src="images/c1.jpg" alt="" class="small">
                        <img src="images/c.png" alt="" class="big">
                    </a>
                </li>
                <li>
                    <a href="#">
                        <img src="images/w1.jpg" alt="" class="small">
                        <img src="images/w.png" alt="" class="big">
                    </a>
                </li>
                <li>
                    <a href="#">
                        <img src="images/z1.jpg" alt="" class="small">
                        <img src="images/z.png" alt="" class="big">
                    </a>
                </li>
                <li>
                    <a href="#">
                        <img src="images/h1.jpg" alt="" class="small">
                        <img src="images/h.png" alt="" class="big">
                    </a>
                </li>
                <li>
                    <a href="#">
                        <img src="images/t1.jpg" alt="" class="small">
                        <img src="images/t.png" alt="" class="big">
                    </a>
                </li>
            </ul>
    
        </div>
    </body>
    
    <style type="text/css">
        * {
            margin: 0;
            padding: 0;
        }
        
        img {
            display: block;
        }
        
        ul {
            list-style: none;
        }
        
        .king {
             852px;
            margin: 100px auto;
            background: url(images/bg.png) no-repeat;
            overflow: hidden;
            padding: 10px;
        }
        
        .king ul {
            overflow: hidden;
        }
        
        .king li {
            position: relative;
            float: left;
             69px;
            height: 69px;
            margin-right: 10px;
        }
        
        .king li.current {
             224px;
        }
        
        .king li.current .big {
            display: block;
        }
        
        .king li.current .small {
            display: none;
        }
        
        .big {
             224px;
            display: none;
        }
        
        .small {
            position: absolute;
            top: 0;
            left: 0;
             69px;
            height: 69px;
            border-radius: 5px;
        }
    </style>
    
  • 相关阅读:
    [SHOI2015]脑洞治疗仪
    [SDOI2016]数字配对
    [SDOI2019]快速查询
    [HNOI2019]JOJO
    [TJOI2019]甲苯先生和大中锋的字符串
    [CQOI2017]老C的方块
    [CQOI2017] 小Q的表格
    [SHOI2012] 火柴游戏
    板子
    自我介绍
  • 原文地址:https://www.cnblogs.com/deer-cen/p/12350192.html
Copyright © 2011-2022 走看看