jQuery -- 内容的淡入与淡出

本篇文章讲述了jQuery中文字或图形的淡入与淡出的动画效果,根据官方的API分为四个部分。

第一部分:show/hide/toggle

会出现五个滑块,点击后,内容会逐渐消失在左上角,有位移浮动。

h5文件中:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>动画效果</title>
    <script src="jquery-2.2.3.min.js"></script>
    <script src="index.js"></script>
    <link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
    <!--<p>hello</p>-->
    <!--<button id="hide">隐藏</button>-->
    <!--<button id="show">显示</button>-->
    <!--<button id="toggle">隐藏/显示</button>-->
<script>

    // 使用for循环创建五个div块,然后在css中设定块的样式
    for (var i = 0 ; i < 5 ; i++){
        $("<div>").appendTo(document.body);
    }

    $("div").click(function(){
       $(this).hide(1000function (){
            $(this).remove();
        });
    });
</script>

</body>
</html>

js文件中:


$(document).ready(function(){

    // 通过id是需要"#"号的
   $("#hide").click(function(){
     $("p").hide(1000);  // 后边的参数是隐藏动画的延续时间,单位是毫秒
   });

    $("#show").click(function(){
        $("p").show(1000);
    });

    //  隐藏/显示
    $("#toggle").click(function(){
       $("p").toggle(100);
    });
});

另外,还有.css中对div块的设计:

div{
    background-color: red;
    width: 30px;
    height: 50px;
    margin: 2px;
    float: left;
}

第二部分:fade in/out/to/toggle

这个效果不会产生位移浮动,而是内容原地淡化或者出现。
有所不同的是: fade to是可以改变内容整体的透明度,所以后面存在两个参数。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>淡入淡出</title>
    <script src="jquery-2.2.3.min.js"></script>
    <script src="fadeindex.js"></script>
</head>
<body>
    <!-- fade in  是让其出现-->
    <button id="in">fade in</button>
    <!-- fade out 是让其隐藏-->
    <button id="out">fade out</button>
    <!-- toggle 是让其隐藏-->
    <button id="toggle">fade toggle</button>
    <!-- fade to 是让其隐藏-->
    <button id="to">fade to</button>


    <!--display:none  是让其默认出现的时候处于隐藏状态-->
    <div id="div1" style="width: 100px; height: 80px; background-color: aqua; display: none" ></div>
    <div id="div2" style="width: 100px; height: 80px; background-color: rebeccapurple; display: none" ></div>
    <div id="div3" style="width: 100px; height: 80px; background-color: gray; display: none" ></div>

</body>
</html>

$(document).ready(function(){
    $("#in").on("click",function(){
       $("#div1").fadeIn(1000);
       $("#div2").fadeIn(1000);
       $("#div3").fadeIn(1000);
    });
    $("#out").on("click",function(){
       $("#div1").fadeOut(1000);
       $("#div2").fadeOut(1000);
       $("#div3").fadeOut(1000);
    });
    $("#toggle").on("click",function(){
       $("#div1").fadeToggle(1000);
       $("#div2").fadeToggle(1000);
       $("#div3").fadeToggle(1000);
    });

    $("#to").on("click",function(){
        // 后边的参数是透明度(0~1)
       $("#div1").fadeTo(1000,0);
       $("#div2").fadeTo(1000,0.5);
       $("#div3").fadeTo(1000,1);
    });
});

第三部分:slide up/down/toggle

内容从上放逐渐伸展出来/从下方逐渐收缩至上方消失。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>slide滑动</title>
    <script src="jquery-2.2.3.min.js"></script>
    <script src="slide.js"></script>
    <style>
        #content,#flipshow,#fliphide,#fliptoggle{
            padding: 5px;
            text-align: center;
            background-color: red;
            border: solid 1px gray;
        }
        #content{
            padding: 50px;
            display: none;
        }
    </style>
</head>
<body>
    <div id="flipshow">出现</div>
    <div id="fliphide">隐藏</div>
    <div id="fliptoggle">隐藏/显示</div>
    <div id="content">hello world</div>
</body>
</html>

$(document).ready(function(){
   $("#flipshow").click(function(){
       $("#content").slideDown(1000);
   })
   $("#fliphide").click(function(){
       $("#content").slideUp(1000);
   })
   $("#fliptoggle").click(function(){
       $("#content").slideToggle(1000);
   })
});

第四部分:动画完成后的回调

这个与上面的不同,这是为了在动画完成后执行下一步操作。也可以用户执行一次操作,出现多个动画效果。
<body>
    <button id="btn">按钮</button>
    <p>hello world</p>
</body>

$(document).ready(function(){
    $("#btn").click(function(){
        //$("p").hide(1000,function(){
        //    //alert("动画结束,回调方法");
        //})

        // 一次进行两个动画 -- 颜色变红色的同事先隐藏,再出现
        $("p").css("color","red").slideUp(1000).slideDown(1000);
    })
});

猜你喜欢

转载自blog.csdn.net/RedGuy_anluo/article/details/51367456
今日推荐