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>标签并没有消失,当关闭弹窗后才会执行消失事件,

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

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

  • 相关阅读:
    [模板] 循环数组的最大子段和
    [最短路][几何][牛客] [国庆集训派对1]-L-New Game
    [洛谷] P1866 编号
    1115 Counting Nodes in a BST (30 分)
    1106 Lowest Price in Supply Chain (25 分)
    1094 The Largest Generation (25 分)
    1090 Highest Price in Supply Chain (25 分)
    树的遍历
    1086 Tree Traversals Again (25 分)
    1079 Total Sales of Supply Chain (25 分 树
  • 原文地址:https://www.cnblogs.com/wanghuanl/p/9321772.html
Copyright © 2011-2022 走看看