アプリ版:「スタンプのみでお礼する」機能のリリースについて

jQueryのslideToggleについての質問です。
以下のようなコードがあるとします。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>jQuery show/hide</title>
<script type="text/javascript" src="../../jQuery/jquery.js"></script>

<script type="text/javascript">
$(document).ready(function() {
$('div.demo-show:eq(0)> div').hide();
$('div.demo-show:eq(0)> h3').click(function() {
$(this).next().slideToggle('fast');
});
});
</script>

</head>
<body>

<div class="demo-show">
<h3>「見出し1」</h3>
<div>見出し1のコンテンツ...……<div class="class-name">コンテンツを閉じる</div></div>
</div>

</body>
</html>

「見出し1」をクリックすると見出し1のコンテンツが表示されます。
もう一度「見出し1」をクリックすると見出し1のコンテンツが隠されます。

・見出し1のコンテンツが表示されている状態で、「見出し1」をクリックする
・見出し1のコンテンツが表示されている状態で、「コンテンツを閉じる」をクリックする
の2通りの場合で見出し1のコンテンツが隠されるようにしたいのですが、jqueryをどのように書き替えたらいいのでしょうか。

よろしくお願いします。

A 回答 (1件)

こんにちは。



以下のリンク先からソースを表示してみてください。
ちょっとクラス名等変わっていますが、置き換えてください。

==== 動作サンプル
http://hppg.moe.hm/okwave/qa/q7414453/

動作ロジックとしては

$('div.demo-show:eq(0)> h3').click(function() {
$(this).next().slideToggle('fast');
});
上記でこれがh3までを示していますので

.next().find('div.close').click ( function() {
$(this).parent().slideToggle('fast');
});

次の要素(div(メインコンテンツ))の中のdiv.closeを取得し、
クリックされた時にその要素(div.close)の親要素(div(メインコンテンツ))に対しslideToggle('fast')を実行する。
    • good
    • 0
この回答へのお礼

おおお!まさにこれです!
感謝です。ありがとうございました。

お礼日時:2012/04/11 11:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!