このサンプルは、jQueryのslideUp(), slideDown(), slideToggle()などのAPIを利用してgmailの受信トレイのようなインタフェースを実装しています。サンプルのヘッダーをクリックするとメッセージの本文が開いて表示されます。再度ヘッダーをクリックするとメッセージ本文が閉じます。[すべて閉じる]をクリックすると、すべてのメッセージが閉じます。[すべて表示]をクリックすると受信メールの全件(9件)を表示します。[5件のみ表示]をクリックすると、最新のメッセージを5件表示します。
2番目以降のメッセージ本文を非表示にするには、.message_bodyに:gt(0)を付加してhide()します。デフォルトで新着メッセージ5件のみ表示するようにしていますので、liに:gt(4)を付加して6番目以降のメッセージをhide()します。
messaga_headには、click時のイベントハンドラを登録して、ヘッダーをクリックしたときにslideToggle()で表示/非表示に切り替えます。
[すべて閉じる]をクリックしたときは、slideUp()を実行してメッセージ本文を閉じます。[すべて表示][5件のみ表示]をクリックしたときは、slideDown(), slideUp()を実行します。slideDown()は表示、slideUp()は非表示に切り替えます。
このサンプルで使用しているイメージです。イメージを右クリックしてダウンロードしてください。
//hide message_body after the first one
$(".message_list .message_body:gt(0)").hide();
//hide message li after the 5th
$(".message_list li:gt(4)").hide();
//toggle message_body
$(".message_head").click(function(){
$(this).next(".message_body").slideToggle(500)
return false;
});
//collapse all messages
$(".collpase_all_message").click(function(){
$(".message_body").slideUp(500)
return false;
});
//show all messages
$(".show_all_message").click(function(){
$(this).hide()
$(".show_recent_only").show()
$(".message_list li:gt(4)").slideDown()
return false;
});
//show recent messages only
$(".show_recent_only").click(function(){
$(this).hide()
$(".show_all_message").show()
$(".message_list li:gt(4)").slideUp()
return false;
});
<ol class="message_list">
<li>
<p class="message_head">
<cite>taro:</cite> <span class="timestamp">8月9日</span>
</p>
<div class="message_body">
<p>メッセージ本文・・・</p>
</div>
</li>
</ol>
<p class="collapse_buttons">
<a href="#" class="show_all_message">すべて表示 (9)</a>
<a href="#" class="show_recent_only">5件のみ表示</a>
<a href="#" class="collpase_all_message">すべて閉じる</a>
</p>
このサンプルは、jQueryのslideUp(), slideDown(), slideToggle()などのAPIを利用してgmailの受信トレイのようなインタフェースを実装しています。サンプルのヘッダーをクリックするとメッセージの本文が開いて表示されます。再度ヘッダーをクリックするとメッセージ本文が閉じます。[すべて閉じる]をクリックすると、すべてのメッセージが閉じます。[すべて表示]をクリックすると受信メールの全件(9件)を表示します。[5件のみ表示]をクリックすると、最新のメッセージを5件表示します。
2番目以降のメッセージ本文を非表示にするには、.message_bodyに:gt(0)を付加してhide()します。デフォルトで新着メッセージ5件のみ表示するようにしていますので、liに:gt(4)を付加して6番目以降のメッセージをhide()します。
messaga_headには、click時のイベントハンドラを登録して、ヘッダーをクリックしたときにslideToggle()で表示/非表示に切り替えます。
[すべて閉じる]をクリックしたときは、slideUp()を実行してメッセージ本文を閉じます。[すべて表示][5件のみ表示]をクリックしたときは、slideDown(), slideUp()を実行します。slideDown()は表示、slideUp()は非表示に切り替えます。
このサンプルで使用しているイメージです。イメージを右クリックしてダウンロードしてください。
//hide message_body after the first one
$(".message_list .message_body:gt(0)").hide();
//hide message li after the 5th
$(".message_list li:gt(4)").hide();
//toggle message_body
$(".message_head").click(function(){
$(this).next(".message_body").slideToggle(500)
return false;
});
//collapse all messages
$(".collpase_all_message").click(function(){
$(".message_body").slideUp(500)
return false;
});
//show all messages
$(".show_all_message").click(function(){
$(this).hide()
$(".show_recent_only").show()
$(".message_list li:gt(4)").slideDown()
return false;
});
//show recent messages only
$(".show_recent_only").click(function(){
$(this).hide()
$(".show_all_message").show()
$(".message_list li:gt(4)").slideUp()
return false;
});
<ol class="message_list">
<li>
<p class="message_head">
<cite>taro:</cite> <span class="timestamp">8月9日</span>
</p>
<div class="message_body">
<p>メッセージ本文・・・</p>
</div>
</li>
</ol>
<p class="collapse_buttons">
<a href="#" class="show_all_message">すべて表示 (9)</a>
<a href="#" class="show_recent_only">5件のみ表示</a>
<a href="#" class="collpase_all_message">すべて閉じる</a>
</p>