jQueryのhideメソッドとshowメソッド
エフェクトを使用すると、例えば要素をスムーズに非表示にしたり表示したりするなど、要素をアニメーション化できます。
各エフェクトには、それぞれjQueryのメソッドが存在します。まずはhideメソッドと
showメソッドから始めましょう。
hideメソッドとshowメソッドは、要素を非表示にしたり表示したりすることを可能にします。その動作を見ていきましょう。
まず、次のHTMLコードを用意します:
<button id="hide">hide</button>
<button id="show">show</button>
<div id="elem">テキスト...</div>
CSSコードは次のようになります:
#elem {
padding: 10px;
width: 150px;
height: 150px;
border: 1px solid green;
margin-top: 10px;
}
次に、#hideボタンをクリックすると要素が非表示になり、#showボタンをクリックすると要素が表示されるように、Javascriptコードを記述します:
$('#hide').click(function() {
$('#elem').hide();
});
$('#show').click(function() {
$('#elem').show();
});
エフェクトの実行時間をミリ秒単位で指定することもできます(1000ミリ秒 = 1秒)。
この場合、エフェクトは指定された時間内でスムーズに再生されます。
エフェクトの実行時間を1秒に設定して、エフェクトの変化を見てみましょう:
$('#hide').click(function() {
$('#elem').hide(1000);
});
$('#show').click(function() {
$('#elem').show(1000);
});
次のマークアップがあります:
<p>
<a id="hide" href="">hide</a> <a id="show" href="">show</a>
</p>
<div id="block">
<ol>
<li>テキスト</li>
<li>テキスト</li>
<li>テキスト</li>
<li>テキスト</li>
<li>テキスト</li>
<li>テキスト</li>
<li>テキスト</li>
<li>テキスト</li>
<li>テキスト</li>
<li>テキスト</li>
</ol>
</div>
body {
font-size: 18px;
}
a {
color: blue;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
ol {
margin: 0px;
padding-left: 10px;
}
li {
list-style-type: inside;
}
div {
display: inline-block;
padding: 30px;
border: 1px solid black;
cursor: pointer;
margin-bottom: 20px;
}
#hideのリンクをクリックするとリストを含むdivが非表示になり、#showのリンクをクリックすると表示されるようにしてください。
各エフェクトの実行時間を600msで設定してください。