jQuery/要素を表示したり消したり

jQuery/要素を表示したり消したり

バージョンと製造年月日

2011-08-18 jQuery 1.6.1

表示したり消したりの基本

要素を表示したり消したりするときはshowメソッドとhideメソッドを使う

<div id="a">hoge</div>

表示したり

$("#a").show();

消したり

$("#a").hide();

このように書くと瞬間的にパッ!パッ!と消えたり表示したりする。hideすると要素は完全にないものとして扱われる(周りの要素が位置に関しての影響をうけて位置がズレたりする)

アニメーション付き

消すのと表示するのに移行する間隔を指定するとアニメーションするようになる

$("#a").show("slow");

消したり

$("#a").hide("slow");

連続的に表示したり消したり

メソッドチェーンで繋げると前のメソッドが完了した後に次のメソッドが動く

$("#a").hide("slow").show("slow");

↓このように書いても同様の効果を得られる

$("#a").hide("slow");
$("#a").show("slow");

違う要素を表示したり消したり

違う要素のメソッドを呼び出すと・・・

$("#a").hide("slow");
$("#b").hide("slow");

最初の要素が消えてから次の要素が消えるわけでなく、同時に消える。

シーケンスにやりたい場合は動作完了時のコールバックがとれるのでここでやればOK

$("#a").hide("slow",function(){
    $("#b").hide("slow");
});

でもこれだとデータから連続的に動きを生成しにくい(データの分だけ入れ子を書き続けないといけない)ので軽くラップする

function Hoge(id){
    var $hoge = $("#" + id);
    var next = {show : function(){}, hide : function(){}};
    this.show = function(){
        $hoge.show("slow", function(){ next.show()});
    };
    this.hide = function(){
        $hoge.show("slow", function(){ next.hide()});
    };
 
    this.setNext = function(n){
        next = n;
    };
}

タグ

javascript/jquery/show_and_hide.txt · 最終更新: 2016-12-21 10:15 by ore