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

自己解決できず、こちらで質問させてください。
どうぞよろしくお願いします。

社内サイトを作っています。
ブラウザ環境はIE8です。

toggleで項目ごとに展開・折りたたみの設定をしているページがあります。
初期値はdisplay:none;を指定しています。
ページ内に設定しているリンク(折りたたみ箇所ではない)をクリックした際
別ウインドウを開くようにしているのですが
その別ウインドウには、toggle設定がされているページ(a.html)を
iframe内に表示させたいのです。

別ウインドウを開いた時に、a.htmlの折りたたまれている個所を全て展開して表示させる事は
できますでしょうか?
ご存知の方、アドバイス頂けないでしょうか。


<iframeに入れるページ(a.html)>

<script>
$(function(){
$("#list li div:nth-child(1)").addClass("title");
$("#list li div:nth-child(2)").addClass("content");
$(".h4").click(function(){
$(this).next().toggle(300);
});
});
</script>

<ul id="list">
<li>
<h4 id="title">タイトル1</h4>

<div id ="content" style="display:none;">
<p>
あああああああああああああああああああああああ
</p>
</div>
</li>




</ul>

A 回答 (2件)

http://ogre.mx/1232

上記のページの方法は使えないですか?

htmlのh4にあらかじめクラスをつけておいて(<h4 class="trigger">とか)、それに対してクリックイベントをつける。


上記ページの方法で、
$('iframe').contents().find('h4.trigger')で、以下を.removeClassとかに変えて、クリックイベントをつけたh4からクラスをとってしまう。
同じ方法でdisplay:noneにしたところを.findで取得して、.show()で表示させる。
これでアコーディオンは解除されるのではないでしょうか。

試してないのでなんともいえませんが。

あと、わざわざiframeを使うよりは.load()でhtmlだけ呼び出したほうがきれいに作れそうな気がしますが。
cssは新たに必要かもですが。
http://semooh.jp/jquery/api/ajax/load/+url,+data …
    • good
    • 0
この回答へのお礼

書き込みありがとうございます!
貼っていただいたURLのサイトもみて
試してみましたが、うまく出ませんでした・・。
私の技量の問題も多分にあると思います。

あと、捕捉で書いていただいたiframe使わなくても・・というアドバイス、確かにそうですよね。。

ただ、今の私のスキルではすぐに取り入れることは
難しいかもしれないです・・↓

情報を色々と頂き、ありがとうございました!

お礼日時:2014/09/11 09:20

方法はいろいろあるかと思いますが・・・



ひとつのアイデアとして、
 a.html を読み込めば現状の通り。
 a.html?hoge=open を読み込めば初期設定で開く。
のようにしておいて、iframeの時は<iframe src="a.html?hoge=open">などとするとか。

?hoge=openの部分は、location.searchで取得可能です。
    • good
    • 0
この回答へのお礼

書き込みありがとうございます!
私の知識が乏しいので
教えていただいた方法を、どのように応用したらいいのか
まずはそこから考えてみます。。

お礼日時:2014/09/11 08:56

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