題名の通りなのですが、リンクをクリックすると指定した(DIVタグで)部分が展開したり閉じたりしたいと思っています。
下記URLの「Example 2」が理想なのですが、これを複数に適用することができないんです…
http://www.dynamicdrive.com/dynamicindex17/anima …
解決方法をご存知の方がおられましたらご教示お願いできないでしょうか。
どうかよろしくお願いします。
No.3ベストアンサー
- 回答日時:
2箇所変更したオブジェクト名の使い方が、特殊なので、
ご希望に少しでも近づいたどうかは不明ですが、
・ 各箇所の名前をすべて、
cat1,cat2
の形に変更して、
・ // 1 の第一引数を
"cat1,cat2"
に替えれば動きます。
・ サンプルのように6箇所以内で無ければ、
// 2 と // 3
を例に見習って増やしてください。
------------------------------------------------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dt …
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="animatedcollapse.js">
</script>
</head>
<body>
<p>
<b>Example 2:</b>
</p>
<a href="javascript:cat1.slideit()">Show/ Hide DIV</a>
<div id="cat1" style="width: 300px; background-color: #99E0FB;">
<div style="padding: 0 5px">
<h3>
Content inside DIV!
</h3>
<h3>
Content inside DIV!
</h3>
<h4>
Note: No CSS height attribute defined. Persistence enabled.
</h4>
</div>
</div>
<p>
<b>Example 2_1:</b>
</p>
<a href="javascript:cat2.slideit()">Show/ Hide DIV</a>
<div id="cat2" style="width: 300px; background-color: #99E0FB;">
<div style="padding: 0 5px">
<h3>
Content inside DIV!
</h3>
<h3>
Content inside DIV!
</h3>
<h4>
Note: No CSS height attribute defined. Persistence enabled.
</h4>
</div>
</div>
<script type="text/javascript">
var cat = new Array();
var cat1,cat2,cat3,cat4,cat5,cat6; // 2
setCat("cat1,cat2",800); // 1
function setCat(catsStr, w) {
cats=catsStr.split(/,/);
for (var i=0; i<cats.length ; i++) {
cat[i+1]=new animatedcollapse(cats[i], w, true);
}
cat1=cat[1];cat2=cat[2];cat3=cat[3];cat4=cat[4];cat5=cat[5];cat6=cat[6]; // 3
}
</script>
</body>
</html>
コードまで書いていただいて本当に助かります。
おかげさまで理想のものができあがりそうです。
度重なるご回答本当にありがとうございました。
No.4
- 回答日時:
#2です。
>初期の状態でDIVを折りたたんでおく
CSSで始めからdisplay:none;を設定してもいいし
Javascriptで設定するなら、hideというメソッドがありますので
$('#ss1').hide();
$('#ss2').hide();
または $('.XXX').hide(); (対象がclass="XXX"の場合)
このように記述してもいいです。(#2の $(function(){の次行あたりに追加)
希望にそえる形で再度投稿なさっていただいて感謝の限りです。
jQueryの解説を見ているとなかなか面白そうで興味ももてました。
度重なるご回答ありがとうございました。
No.2
- 回答日時:
日本語の解説も多いし、jQueryを利用してみては?
http://www.google.com/search?q=jquery
例)
<html>
<head>
<style type="text/css">
span{text-decoration:underline;cursor:pointer;}
div div{background-color:#66ffff;}
</style>
<script type="text/javascript" src="jQuery.js"></script>
<script type="text/javascript">
$(function(){
$('#s1').click(function(){
$('#ss1').toggle('normal');
});
$('#s2').click(function(){
$('#ss2').toggle('fast');
});
});
</script>
</head>
<body>
<div><span id="s1">テキスト</span>
<div id="ss1">ブロック</div>
</div>
<div>
<span id="s2">テキスト</span>
<div id="ss2">ブロック</disv>
</div>
</body>
</html>
迅速なご回答ありがとうございます。
jQueryだとかMMtoolsだとか言われると敷居が高そうで、やめてくれ~と思っておりましたが、簡略したソースを記載してくださったおかげで導入は簡単にできました。
実際使い勝手いいんですが、初期の状態でDIVを折りたたんでおくことはできるでしょうか?
No.1
- 回答日時:
問題の箇所が良く分かっていないかも知れませんが、
idは、ユニークでなければいけませんので、
cat
を
cat2
に変更し、オブジェクト名も2箇所
collapse2_1
に変更します。
以下のコードを参考にしてみてください。
------------------------------------------------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dt …
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="animatedcollapse.js">
</script>
</head>
<body>
<p>
<b>Example 2:</b>
</p>
<a href="javascript:collapse2.slideit()">Show/ Hide DIV</a>
<div id="cat" style="width: 300px; background-color: #99E0FB;">
<!--Your DIV content as follows. Note to add CSS padding or margins, do it inside a DIV within the Collapsible DIV -->
<div style="padding: 0 5px">
<h3>
Content inside DIV!
</h3>
<h3>
Content inside DIV!
</h3>
<h4>
Note: No CSS height attribute defined. Persistence enabled.
</h4>
</div>
</div>
<script type="text/javascript">
//Syntax: var uniquevar=new animatedcollapse("DIV_id", animatetime_milisec, enablepersist(true/fase), [initialstate] )
var collapse2=new animatedcollapse("cat", 800, true)
</script>
<p>
<b>Example 2_1:</b>
</p>
<a href="javascript:collapse2_1.slideit()">Show/ Hide DIV</a>
<div id="cat2" style="width: 300px; background-color: #99E0FB;">
<!--Your DIV content as follows. Note to add CSS padding or margins, do it inside a DIV within the Collapsible DIV -->
<div style="padding: 0 5px">
<h3>
Content inside DIV!
</h3>
<h3>
Content inside DIV!
</h3>
<h4>
Note: No CSS height attribute defined. Persistence enabled.
</h4>
</div>
</div>
<script type="text/javascript">
//Syntax: var uniquevar=new animatedcollapse("DIV_id", animatetime_milisec, enablepersist(true/fase), [initialstate] )
var collapse2_1=new animatedcollapse("cat2", 800, true)
</script>
</body>
</html>
すごく助かります。自分でコピペしてidをcat2にしてみたときはダメだったんです。collapse2_1は勉強になりました。javascriptなんて読めないので、その辺りには見ることもなかったわけですごく助かります。
でこれは私の完全なミスなんですが、実はPHPの中に追記したいと思っているので、
<script type="text/javascript">var collapse2=new animatedcollapse("cat", 200, true)</script>
これが邪魔に思うわけです。我侭なんですが何度もでてくるのが邪魔臭いというか・・・
("$cat", 200, true)
("cat1,cat2,cat3", 200, true)
ニュアンス的にはこんな感じでできればいいんですけれど。
迅速な回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 フォルダ内の全ての画像を矢印キーでスライドできるようにしたい 1 2022/10/21 12:53
- Windows 10 ファイルエクスプローラーでフォルダを閉じる操作について 2 2022/10/15 11:06
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- その他(クラウドサービス・オンラインストレージ) firestorage_androidスマホでダウンロードできない 1 2022/10/25 08:18
- その他(プログラミング・Web制作) .htaccessの設定で、httpはhttpsに、且つ、wwwありに統一、の記述方法 2 2023/06/22 10:54
- Visual Basic(VBA) VBA 複数のブックに同じ列を表示させる方法 2 2022/07/20 23:49
- その他(動画サービス) Tver アンケートに回答しても視聴できない(何度もアンケート画面が開く) 1 2023/01/13 21:47
- その他(プログラミング・Web制作) seleniumbasic chrome操作について 1 2023/03/29 15:40
- SEO googleサーチコンソールで、重複URLが多数発生、その修正方法について 2 2023/06/23 16:15
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/08 15:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
取得した要素がインライン要素...
-
removeEventListenerについて
-
createElementで作成した要素を...
-
[急ぎ] videoタグで埋め込んだm...
-
onmouseoverの表示切り替えが上...
-
htmlの記述で link rel=styles...
-
こんにちは、javascriptにてボ...
-
スタイルシートで画面を上下に...
-
タブ切り替えの初期表示について
-
jspでcssが読み込めない
-
複数の画像の中から複数の画像...
-
値の入った<li>要素の数をカウ...
-
OpenCV での画素値の比較について
-
【CSS】floatで左右に並べた...
-
HTMLで条件分岐はできますか?
-
フォームに入力された値により...
-
複数の画像をランダム(シャッ...
-
JQueryタブのアクティブ アン...
-
スクリプト
-
bxsliderにて読み込み後に内容...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MAX関数を使ってからLEFT JOIN...
-
javascriptテキストBOX色を元に...
-
読み込んだQRコードをフォーム...
-
createElementで作成した要素を...
-
removeEventListenerについて
-
IFRAMEの表示/非表示を切り替え...
-
タブで開いてさらにタブ内をア...
-
変数名をどのようにつけるのが...
-
クリックで色変更後に既に変更...
-
表示・非表示のスクリプトで、...
-
HTMLとJavaScriptで作ったタイ...
-
console.log結果をhtmlで表示し...
-
jQueryでクリックされた要素のi...
-
HTMLタグに複数のクラスを設定...
-
指定したパスが現URLに含まれて...
-
iframe内のリンクが飛ばないの...
-
背景色を透明化
-
テキストエリア内の一部の文字...
-
変数内容をHTML内で表示する方法
-
classの中の<a>タグにidを追加
おすすめ情報