1. 程式人生 > >jQuery效果之隱藏與顯示、淡入淡出、滑動、回撥

jQuery效果之隱藏與顯示、淡入淡出、滑動、回撥

1. 隱藏與顯示

通過 jQuery,可以使用 hide() 和 show() 方法來隱藏和顯示 HTML 元素,可以使用 toggle() 方法來切換 hide() 和 show() 方法。
語法:

$(selector).hide(speed,callback);

$(selector).show(speed,callback);

$(selector).toggle(speed,callback);

可選的 speed 引數規定隱藏/顯示的速度,可以取以下值:”slow”、”fast” 或毫秒。
可選的 callback 引數是隱藏或顯示完成後所執行的函式名稱。

<script>
    for(var i=0;i<5;i++){
        $("<div>").appendTo(document.body);
    }
    $("div").click(function () {
       $(this).hide(2000,function () {
           $(this).remove();
       });
    });
</script>

2. 淡入淡出

jQuery 擁有下面四種 fade 方法:

  • fadeIn()-用於淡入已隱藏的元素。
  • fadeOut()-用於淡出可見元素。
  • fadeToggle()-可以在 fadeIn() 與 fadeOut() 方法之間進行切換。
    如果元素已淡出,則 fadeToggle() 會向元素新增淡入效果。
    如果元素已淡入,則 fadeToggle() 會向元素新增淡出效果。
  • fadeTo()-允許漸變為給定的不透明度(值介於 0 與 1 之間)。

語法:

$(selector).fadeIn(speed,callback);
$(selector).fadeOut(speed,callback);
$(selector).fadeToggle(speed,callback);
$(
selector).fadeTo(speed,opacity,callback);

可選的 speed 引數規定效果的時長。它可以取以下值:”slow”、”fast” 或毫秒。
可選的 callback 引數是 fading 完成後所執行的函式名稱。

fade.html

<button id="in">fadeIn</button>
<button id="out">fadeOut</button>
<button id="toggle">fadeToggle</button>
<button id="to">fadeTo</button>
<div id="div1" style="width: 80px;height: 80px;display:none;background-color: aqua"></div>
<div id="div2" style="width: 80px;height: 80px;display:none;background-color: chartreuse"></div>
<div id="div3" style="width: 80px;height: 80px;display:none;background-color: coral"></div>

fade.js

$(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 () {
        $("#div1").fadeTo(1000,0.5);
        $("#div2").fadeTo(1000,0.7);
        $("#div3").fadeTo(1000,0.3);//表示透明度,從0~1,0表示完全透明,1表示完全不透明
    }) ;
});

3. 滑動

通過 jQuery,可以在元素上建立滑動效果。
jQuery 擁有以下滑動方法:

  • slideDown()-向下滑動元素。
  • slideUp()-向上滑動元素。
  • slideToggle()-可以在 slideDown() 與 slideUp() 方法之間進行切換。
    語法:
$(selector).slideDown(speed,callback);

$(selector).slideUp(speed,callback);

$(selector).slideToggle(speed,callback);

可選的 speed 引數規定效果的時長。它可以取以下值:”slow”、”fast” 或毫秒。
可選的 callback 引數是滑動完成後所執行的函式名稱。

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="jquery-3.2.1.js"></script>
    <script src="move.js"></script>
    <style>
        #content,#flipshow,#fliphide,#fliptoggle{
            padding:5px;
            text-align: center;
            background-color: aqua;
            border:solid 1px #ccffdd;
        }
        #content{
            padding:50px;
            display:none;
        }
    </style>
</head>
<body>
<div id="flipshow">出現</div>
<div id="fliphide">隱藏</div>
<div id="fliptoggle">出現/隱藏</div>
<div id="content">hi</div>
</body>
$(document).ready(function () {
   $("#flipshow").click(function () {
      $("#content").slideDown(1000);
   });
    $("#fliphide").click(function () {
        $("#content").slideUp(1000);
    });
    $("#fliptoggle").click(function () {
        $("#content").slideToggle(1000);
    });
});

4. 回撥

當動畫 100% 完成後,即呼叫 Callback 函式。

<button>隱藏</button>
<p>hi  hi  hi  hi  hi  hi  hi</p>
   $("button").click(function () {
       // $("p").hide(1000,function () {
       //    alert("動畫結束,這個方法被回撥")
       // });

       $("p").css("color","red").slideUp(1000).slideDown(1000);//同時使用多個動畫
   }) ;

參考資料

javascript callback函式的理解與使用