zoukankan      html  css  js  c++  java
  • jQuery点击事件部分动画特效示例

    说到特效,最基本的应该就是隐藏与显示了,在jQuery中这两个方法分别为隐藏(hide())显示(show()
     因为这个可以用很多种方法实现,就不上代码了
     
    通过 jQuery,可以实现元素的淡入淡出效果。
    jQuery 拥有下面四种 fade 方法:
        fadeIn()
        fadeOut()
        fadeToggle()
        fadeTo()
    前三个基本划为一类,因为fadeIn()是单独的出现效果,fadeOUt()为单独的隐藏效果,而fadeToggle()则是两者综合,当隐藏时点击会出现,当出现时点击会隐藏

    前三个中有两个参数第一个参数为演示效果所要的时间,以毫秒为单位。第二个参数为回调函数,即执行完前面的操作后的反应,可省略。

    第四个fadeTo() 方法允许渐变为给定的不透明度(值介于 0 与 1 之间)。 
    $(selector).fadeTo(speed,opacity,callback);
    有三个参数
    必需的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。
    fadeTo() 方法中必需的 opacity 参数将淡入淡出效果设置为给定的不透明度(值介于 0 与 1 之间)。
    可选的 callback 参数是该函数完成后所执行的函数名称。
     
    第二个则是滑动效果,可以利用jqery的slideDown()(向下滑动)和slideUp()(向上滑动)来实现也可以用单个的 slideToggle()来替代前面两个函数,
     
    第三是自定义动画,在滑动中只能实现上下滑动,那如何来实现左右滑动呢?这就需要用到自定义动画,自定义动画的方法为animate()
    css样式
    #div0 div{
                width:150px;
                height:150px;
            }
            #div1{
                background-color:red;
            }
            #div2{
               background-color:blue;
            }
            #div3{
                background-color:black;
            }
            #panel,#flip
    {
        padding:5px;
        text-align:center;
        background-color:#e5eecc;
        border:solid 1px #c3c3c3;
    }
    #panel
    {
        padding:50px;
        display:none;
    }
    #fli{
        width:25px;
        height:100px;
        text-align:center;
        font-size:20px;
        line-height:50px;
        background-color:bisque;
        border-radius:8px;
        }
    #pane{
        display:none;
        background-color:aqua;
        width:0px;  
        height:100px; 
        border-radius:8px;
    }
    li{
        float:left;
        list-style:none;
    }
    html元素
     
     
    <div> <p id="hide">点我我就没了</p> <button id="toggle">显示/隐藏</button> </div> <div id="div0"> <div id="div1"></div> <div id="div2"></div> <div id="div3"></div> <button id="toggleDiv">我会魔法哦</button> </div> <div id="flip">点我滑下面板</div> <div id="panel">Hello world!</div> <button id="stop">停止动画</button> <ul id="sec"> <li id="fli">卷轴</li> <li id="pane">你准备好进入符文之地了么?</li> </ul>
    $(function () {
        $("#hide").click(function(){
            $(this).hide("slow", function () {
                alert("他们不见了")
            });
            
        })
        $("#toggle").click(function () {
            $("#hide").toggle(1000);
        })
        $("#toggleDiv").click(function () {
            $("#div1").fadeToggle(3000);
            $("#div2").fadeToggle("slow");
            $("#div3").animate({
                opacity: '0.5'
            })
        });
        $("#flip").click(function () {
            $("#panel").slideToggle(3000);
        })
        $("#fli").click(function () {
            $("#pane").css({ "display": "block" });
            $("#pane").animate({
                //如果是+=则会一直增长
                 '300px',
                height: '100px',          
            }, 1000).animate({
                 '0px',
                height: '100px',
                
            }, 3000, function () {
                $("#pane").css({ "display": "none" });
            })
        })
        $("#stop").click(function () {
            $("#pane").stop();
        })

    上面呢第一个是几个演示所用的元素,具体方式就在最后的代码块中了

    关于回调函数,如果需要的时候还是写函数比较好,下面放两张图对比一下有回调函数和没有回调函数的区别

    这个是没有回调函数的情况下,设置的点击事件为<P>标签内容消失,可以看到在弹窗出现时<P>标签并没有消失,当关闭弹窗后才会执行消失事件,

    这个则是有回调函数的情况,内容先消失后才会有弹窗出现。

    具体应用的话,可以根据情况选择。

  • 相关阅读:
    「题解」:$Six$
    「题解」:$Smooth$
    AFO
    纪念——代码首次达到近50K(更新:78.8K 2019行)
    meet-in-the-middle 基础算法(优化dfs)
    莫队学习笔记
    树链剖分学习笔记
    常用数论模板
    图论模板
    高精度模板(结构体封装,重载运算符)
  • 原文地址:https://www.cnblogs.com/wanghuanl/p/9321772.html
Copyright © 2011-2022 走看看