• 締切済み

javaスクリプトを使ったタブ切り替えに関して質問です。

javaスクリプトを使ったタブ切り替えに関して質問です。 http://blog.livedoor.jp/soken2ch/contents/itmobile/ このページの下部にもう一つタブエリアを作りたいのですが、一つのページにタブエリアを複数作るのにはどう記述すればいいのでしょうか? よろしくお願いいたします。

みんなの回答

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

こんばんは。 ご提示のサイトをこちらのIE6で見ると、添付画像の状態になって、タブが表示されないみたい… ソースの構造をつかむのが面倒だったので、No1様が簡略化してくださったのを見て、それを利用させていただいています。 ・CSSを使うのなら、レイアウトや装飾はできるだけCSSにもっていったほうが  HTMLが見やすくなる。 ・tabの設定時にtab.init()を行なっているのだから、設定にgetElementを  列挙させなくても良いだろう ・・・なんて思っていろいろいじっていたら、別物になってしまいました。 CSSを解析するのも面倒だったので、見た目で真似しています。なので多少違うかも。 とりあえず、CSSは全部兼用にしてありますが、それぞれで体裁を変える場合はセレクタをid指定にすれば、個々のタブ群ごとの設定も可能です。 タブと表示内容の全体をdiv要素でくくって、それにidをつけておいて、 一番最後のほうの  var tab1 = new Tab('tab1');  var tab2 = new Tab('tab2'); がタブを設定しているところ。(何個あっても可) 原型に近いものはNo2様がすでにご提示なさっていますので、まあいいかと、ご参考までに。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head><title>test</title> <style type="text/css"> .tab_wrapper { background-color:#fff; } ul.tab { list-style-type: none; height:1em; margin:0; padding:0; border-bottom: 2px solid #333; overflow:hidden; } ul.tab li { float:left; } ul.tab li a { display: block; border: 1px solid #ccc; border-bottom: 0; padding: 0 20px; color: #777; text-align: center; font-size: 12px; color: #0000cd; } div.tab_panel { position:relative; width:100%; height:200px; clear:both; } div.tab_panel iframe { width:100%; height:200px; border:0; position:absolute; overflow:auto; } ul.tab li a:hover, ul.tab li.active a { border-color: #333; color: #fff; background: #111; } </style> </head> <body> <p>タブその1 <div id="tab1" class="tab_wrapper"> <ul class="tab"> <li><a href="#p1">title1</a></li> <li><a href="#p2">title2</a></li> <li><a href="#p3">title3</a></li> </ul> <div class="tab_panel"> <iframe id="p1" src="Test/A.html" frameborder="0"></iframe> <iframe id="p2" src="Test/B.html" frameborder="0"></iframe> <iframe id="p3" src="Test/C.html" frameborder="0"></iframe> </div> </div> <hr> <p>タブその2 <div id="tab2" class="tab_wrapper"> <ul class="tab"> <li><a href="#p4">title4</a></li> <li><a href="#p5">title5</a></li> <li><a href="#p6">title6</a></li> </ul> <div class="tab_panel"> <iframe id="p4" src="Test/D.html" frameborder="0"></iframe> <iframe id="p5" src="Test/E.html" frameborder="0"></iframe> <iframe id="p6" src="Test/F.html" frameborder="0"></iframe> </div> </div> <script type="text/javascript"> // <![CDATA[ var Tab = function(tab_id) { this.id = tab_id, this.tab = [], this.panel = []; this.init(); } Tab.prototype = { dive : function() { if (this.getPanel(window.location.hash.split('#')[1])) return; if (this.tab[0]) this.getPanel(this.tab[0].id); }, getPanel : function(id) { var flg; if (flg = this.id2obj(id, 'panel')) this.showPanel(id); return flg; }, showPanel : function(id) { var i = 0, e, p = this.panel, t = this.tab; while (e = p[i++]) { e.style.display = (id == e.id)?'block':'none'; this.id2obj(e.id, 'tab').className = (id == e.id)?'active':''; } }, clickfunc : function(obj) { return function(evt) { var t = evt.target || evt.srcElement; if ('A' == t.nodeName) obj.getPanel(t.href.split('#')[1]); } }, id2obj : function(id, f) { var i, e, t; if ('panel' == f) { t = this.panel; for (i=0; i<t.length; i++) if (id === t[i].id) { e = t[i]; break; } } else if ('tab' == f) { t = this.tab; for (i=0; i<t.length; i++) if (id === t[i].id) { e = t[i].elm; break; } } return e; }, init : function() { var i, c, e, t = document.getElementById(this.id); e = check('DIV', 'tab_panel', 'IFRAME'), this.panel = e.child; e = check('UL', 'tab', 'LI'); for (i=0; i<e.child.length; i++) { this.tab[i] = { elm : e.child[i], id : '' }; c = e.child[i].firstChild; while (c && c.nodeName != 'A') c = c.nextSibling; this.tab[i].id = c?c.href.split('#')[1]:null; } if (this.tab && this.panel) { try{ e.parent.addEventListener("click",this.clickfunc(this),false); }catch(evt){ e.parent.attachEvent("onclick",this.clickfunc(this)); } this.dive(); } function check(t1, cls, t2) { var i, p = null, r = [], e = t.getElementsByTagName(t1); for (i=0; i<e.length; i++) if (cls == e[i].className) { p = e[i]; break; } if (p) r = p.getElementsByTagName(t2); return { parent:p, child:r }; } } } var tab1 = new Tab('tab1'); var tab2 = new Tab('tab2'); // ]]> </script> </body> </html>

全文を見る
すると、全ての回答が全文表示されます。
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.2

No1.です。「page8以降は赤い部分に出力したい」 そおいう要望だったのですか、てっきり同じIFRAME位置に出したいのかと 思っていました。 別のタブメニューのセットを用意すればいいわけで、なるべく原型のSCRIPT をこわさないように、tabオブジェクトをクラス化して、間単に使いまわせる ように多少書き換えてみました。CSSの部分はとりあえず前の回答のまま(手抜き)、 head部分にあるSCRIPTを次のように書き換えました。 <script type="text/javascript" charset="utf-8"> // <![CDATA[ function tab(){ this.init=function(){ var tabs = this.setup.tabs; var pages = this.setup.pages; for(i=0; i<pages.length; i++) { if(i !== 0) pages[i].style.display = 'none'; tabs[i].onclick = function(){showpage(this,tabs,pages); return false; }; } dive(tabs,pages); } dive = function(tabs,pages){ var hash = window.location.hash; hash = hash.split("?"); hash = hash[0].split("#"); for(i=0; i<pages.length; i++) { if(pages[i] == document.getElementById(hash[1])) showpage(tabs[i],tabs,pages); } } showpage =function(obj,tabs,pages){ var num; for(num=0; num<tabs.length; num++) { if(tabs[num] === obj) break; } for(var i=0; i<pages.length; i++) { if(i == num) { pages[num].style.display = 'block'; tabs[num].className = 'present'; } else{ pages[i].style.display = 'none'; tabs[i].className = null; } } } } // ]]> </script> htmlの部分はほぼ同じで、こうなります。(長あー) <div id="content" class="hfeed"> <ul id="tab"> <li class="present"><a href="#page1">主要トピックス</a></li> <li class=""><a href="#page2">Web2.0</a></li> <li class=""><a href="#page3">SEO・SEM</a></li> <li class=""><a href="#page4">アフィリエイト</a></li> <li class=""><a href="#page5">モバイル</a></li> <li class=""><a href="#page6">アルファブログ・コラム</a></li> </ul> <div id="page1" class="" style="border-style:dashed; border-width: 0px 0px 0px 0px;border-color: #000000; padding:0px 0px 15px 0px;" align="left"> <IFRAME src="http://blog.livedoor.jp/soken2ch/rss_frame/it/it_topics.html" bgcolor="#fff" width="100%" height="200px" frameborder="0" scrolling="yes" style="border-color:#0000ff;border-style solid; border-width:0px; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"></IFRAME> </div> <div id="page2" style="border-style:dashed; border-width: 0px 0px 0px 0px;border-color: #000000; padding:0px 0px 15px 0px; display: none;" align="left"> <IFRAME src="http://blog.livedoor.jp/soken2ch/rss_frame/it/it_web2.html" bgcolor="#fff" width="100%" height="200px" frameborder="0" scrolling="yes" style="border-color:#0000ff;border-style solid; border-width:0px; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"></IFRAME> </div> <div id="page3" style="border-style:dashed; border-width: 0px 0px 0px 0px;border-color: #000000; padding:0px 0px 15px 0px; display: none;" align="left"> <IFRAME src="http://blog.livedoor.jp/soken2ch/rss_frame/it/it_seosem.html" bgcolor="#fff" width="100%" height="200px" frameborder="0" scrolling="yes" style="border-color:#0000ff;border-style solid; border-width:0px; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"></IFRAME> </div> <div id="page4" style="border-style:dashed; border-width: 0px 0px 0px 0px;border-color: #000000; padding:0px 0px 15px 0px; display: none;" align="left"> <IFRAME src="http://blog.livedoor.jp/soken2ch/rss_frame/it/it_adnetwork.html" bgcolor="#fff" width="100%" height="200px" frameborder="0" scrolling="yes" style="border-color:#0000ff;border-style solid; border-width:0px; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"></IFRAME> </div> <div id="page5" style="border-style:dashed; border-width: 0px 0px 0px 0px;border-color: #000000; padding:0px 0px 15px 0px; display: none;" align="left"> <IFRAME src="http://blog.livedoor.jp/soken2ch/rss_frame/it/it_mobile.html" bgcolor="#fff" width="100%" height="200px" frameborder="0" scrolling="yes" style="border-color:#0000ff;border-style solid; border-width:0px; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"></IFRAME> </div> <div id="page6" style="border-style:dashed; border-width: 0px 0px 0px 0px;border-color: #000000; padding:0px 0px 15px 0px; display: none;" align="left"> <IFRAME src="http://blog.livedoor.jp/soken2ch/rss_frame/it/it_column.html" bgcolor="#fff" width="100%" height="200px" frameborder="0" scrolling="yes" style="border-color:#0000ff;border-style solid; border-width:0px; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"></IFRAME> </div> <ul id="tab2"> <li class="present"><a href="#page7">追加ページ1</a></li> <li class=""><a href="#page8">追加ページ2</a></li> <li class=""><a href="#page9">追加ページ3</a></li> <li class=""><a href="#page10">追加ページ4</a></li> <li class=""><a href="#page11">追加ページ5</a></li> <li class=""><a href="#page12">追加ページ6</a></li> </ul> <div id="page7" class="" style="border-style:dashed; border-width: 0px 0px 0px 0px;border-color: #000000; padding:0px 0px 15px 0px;" align="left"> <IFRAME src="追加ページ1のURL" bgcolor="#fff" width="100%" height="200px" frameborder="0" scrolling="yes" style="border-color:#0000ff;border-style solid; border-width:0px; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"></IFRAME> </div> <div id="page8" style="border-style:dashed; border-width: 0px 0px 0px 0px;border-color: #000000; padding:0px 0px 15px 0px; display: none;" align="left"> <IFRAME src="追加ページ2のURL" bgcolor="#fff" width="100%" height="200px" frameborder="0" scrolling="yes" style="border-color:#0000ff;border-style solid; border-width:0px; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"></IFRAME> </div> <div id="page9" style="border-style:dashed; border-width: 0px 0px 0px 0px;border-color: #000000; padding:0px 0px 15px 0px; display: none;" align="left"> <IFRAME src="追加ページ3のURL" bgcolor="#fff" width="100%" height="200px" frameborder="0" scrolling="yes" style="border-color:#0000ff;border-style solid; border-width:0px; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"></IFRAME> </div> <div id="page10" style="border-style:dashed; border-width: 0px 0px 0px 0px;border-color: #000000; padding:0px 0px 15px 0px; display: none;" align="left"> <IFRAME src="追加ページ4のURL" bgcolor="#fff" width="100%" height="200px" frameborder="0" scrolling="yes" style="border-color:#0000ff;border-style solid; border-width:0px; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"></IFRAME> </div> <div id="page11" style="border-style:dashed; border-width: 0px 0px 0px 0px;border-color: #000000; padding:0px 0px 15px 0px; display: none;" align="left"> <IFRAME src="追加ページ5のURL" bgcolor="#fff" width="100%" height="200px" frameborder="0" scrolling="yes" style="border-color:#0000ff;border-style solid; border-width:0px; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"></IFRAME> </div> <div id="page12" style="border-style:dashed; border-width: 0px 0px 0px 0px;border-color: #000000; padding:0px 0px 15px 0px; display: none;" align="left"> <IFRAME src="追加ページ6のURL" bgcolor="#fff" width="100%" height="200px" frameborder="0" scrolling="yes" style="border-color:#0000ff;border-style solid; border-width:0px; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"></IFRAME> </div> </div> 今回は、この後に続くSCRIPTをこうします。 <script type="text/javascript"> // <![CDATA[ tab.prototype.setup = null; tab1=new tab(); tab1.setup = { tabs:document.getElementById('tab').getElementsByTagName('li'), pages:[ document.getElementById('page1'), document.getElementById('page2'), document.getElementById('page3'), document.getElementById('page4'), document.getElementById('page5'), document.getElementById('page6') ] }; tab1.init(); tab2 = new tab(); tab2.setup = { tabs:document.getElementById('tab2').getElementsByTagName('li'), pages: [ document.getElementById('page7'), document.getElementById('page8'), document.getElementById('page9'), document.getElementById('page10'), document.getElementById('page11'), document.getElementById('page12') ] } tab2.init(); // ]]> </script> このやり方で、いろんな場所にタブメニューセットが配置できるかと、 後は、CSSの定義が冗長になるので、一工夫倉した方がよいですね。 タブメニューのSCRIPTとCSSは関係ないようです。

全文を見る
すると、全ての回答が全文表示されます。
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

詳しく調べて改造するのが面倒なので、場当たり的にとってつけたつけた ような対処でよろしければ、下のように出来ます。 (CSSやJAVASCRIPTのオブジェクト拡張の方法が今一わからんもんで...) まずCSSの追加 <style type="text/css"> #tab2 { margin-left: 0; padding-left: 0; margin-bottom: 0; border-bottom: 2px solid #333; height: ; width: 100%; overflow: hidden; } #tab2 li { float: left; width: px; height: ; font-size: 12px; } #tab2 li a { display: block; width: px; height: ; border: 1px solid #ccc; border-bottom: 0; padding: 0 20px; color: #777; text-align: center; font-size: 12px; color: #0000cd; } #tab2 li a:hover, #tab2 li.present a { border-color: #333; color: #fff; background: #111; } #tab2 li a:hover, #tab2 li.present2 a { border-color: #333; color: #fff; background: ffff00; } #page7, #page8, #page9, #page10, #page11, #page12 { margin-bottom: ; padding-top: 0; border-left: 2px solid #333; } </style> 次にHTML部分は <div id="content" class="hfeed"> <ul id="tab"> <li class="present"><a href="#page1">主要トピックス</a></li> <li class=""><a href="#page2">Web2.0</a></li> <li class=""><a href="#page3">SEO・SEM</a></li> <li class=""><a href="#page4">アフィリエイト</a></li> <li class=""><a href="#page5">モバイル</a></li> <li class=""><a href="#page6">アルファブログ・コラム</a></li> </ul> <div id="page1" class="" style="border-style:dashed; border-width: 0px 0px 0px 0px;border-color: #000000; padding:0px 0px 15px 0px;" align="left"> <IFRAME src="http://blog.livedoor.jp/soken2ch/rss_frame/it/it_topics.html" bgcolor="#fff" width="100%" height="200px" frameborder="0" scrolling="yes" style="border-color:#0000ff;border-style solid; border-width:0px; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"></IFRAME> </div> <div id="page2" style="border-style:dashed; border-width: 0px 0px 0px 0px;border-color: #000000; padding:0px 0px 15px 0px; display: none;" align="left"> <IFRAME src="http://blog.livedoor.jp/soken2ch/rss_frame/it/it_web2.html" bgcolor="#fff" width="100%" height="200px" frameborder="0" scrolling="yes" style="border-color:#0000ff;border-style solid; border-width:0px; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"></IFRAME> </div> <div id="page3" style="border-style:dashed; border-width: 0px 0px 0px 0px;border-color: #000000; padding:0px 0px 15px 0px; display: none;" align="left"> <IFRAME src="http://blog.livedoor.jp/soken2ch/rss_frame/it/it_seosem.html" bgcolor="#fff" width="100%" height="200px" frameborder="0" scrolling="yes" style="border-color:#0000ff;border-style solid; border-width:0px; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"></IFRAME> </div> <div id="page4" style="border-style:dashed; border-width: 0px 0px 0px 0px;border-color: #000000; padding:0px 0px 15px 0px; display: none;" align="left"> <IFRAME src="http://blog.livedoor.jp/soken2ch/rss_frame/it/it_adnetwork.html" bgcolor="#fff" width="100%" height="200px" frameborder="0" scrolling="yes" style="border-color:#0000ff;border-style solid; border-width:0px; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"></IFRAME> </div> <div id="page5" style="border-style:dashed; border-width: 0px 0px 0px 0px;border-color: #000000; padding:0px 0px 15px 0px; display: none;" align="left"> <IFRAME src="http://blog.livedoor.jp/soken2ch/rss_frame/it/it_mobile.html" bgcolor="#fff" width="100%" height="200px" frameborder="0" scrolling="yes" style="border-color:#0000ff;border-style solid; border-width:0px; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"></IFRAME> </div> <div id="page6" style="border-style:dashed; border-width: 0px 0px 0px 0px;border-color: #000000; padding:0px 0px 15px 0px; display: none;" align="left"> <IFRAME src="http://blog.livedoor.jp/soken2ch/rss_frame/it/it_column.html" bgcolor="#fff" width="100%" height="200px" frameborder="0" scrolling="yes" style="border-color:#0000ff;border-style solid; border-width:0px; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"></IFRAME> </div> <div id="page7" class="" style="border-style:dashed; border-width: 0px 0px 0px 0px;border-color: #000000; padding:0px 0px 15px 0px;" align="left"> <IFRAME src="追加ページ1のURL" bgcolor="#fff" width="100%" height="200px" frameborder="0" scrolling="yes" style="border-color:#0000ff;border-style solid; border-width:0px; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"></IFRAME> </div> <div id="page8" style="border-style:dashed; border-width: 0px 0px 0px 0px;border-color: #000000; padding:0px 0px 15px 0px; display: none;" align="left"> <IFRAME src="追加ページ2のURL" bgcolor="#fff" width="100%" height="200px" frameborder="0" scrolling="yes" style="border-color:#0000ff;border-style solid; border-width:0px; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"></IFRAME> </div> <div id="page9" style="border-style:dashed; border-width: 0px 0px 0px 0px;border-color: #000000; padding:0px 0px 15px 0px; display: none;" align="left"> <IFRAME src="追加ページ3のURL" bgcolor="#fff" width="100%" height="200px" frameborder="0" scrolling="yes" style="border-color:#0000ff;border-style solid; border-width:0px; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"></IFRAME> </div> <div id="page10" style="border-style:dashed; border-width: 0px 0px 0px 0px;border-color: #000000; padding:0px 0px 15px 0px; display: none;" align="left"> <IFRAME src="追加ページ4のURL" bgcolor="#fff" width="100%" height="200px" frameborder="0" scrolling="yes" style="border-color:#0000ff;border-style solid; border-width:0px; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"></IFRAME> </div> <div id="page11" style="border-style:dashed; border-width: 0px 0px 0px 0px;border-color: #000000; padding:0px 0px 15px 0px; display: none;" align="left"> <IFRAME src="追加ページ5のURL" bgcolor="#fff" width="100%" height="200px" frameborder="0" scrolling="yes" style="border-color:#0000ff;border-style solid; border-width:0px; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"></IFRAME> </div> <div id="page12" style="border-style:dashed; border-width: 0px 0px 0px 0px;border-color: #000000; padding:0px 0px 15px 0px; display: none;" align="left"> <IFRAME src="追加ページ6のURL" bgcolor="#fff" width="100%" height="200px" frameborder="0" scrolling="yes" style="border-color:#0000ff;border-style solid; border-width:0px; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"></IFRAME> </div> <ul id="tab2"> <li class="present"><a href="#page7">追加ページ1</a></li> <li class=""><a href="#page8">追加ページ2</a></li> <li class=""><a href="#page9">追加ページ3</a></li> <li class=""><a href="#page10">追加ページ4</a></li> <li class=""><a href="#page11">追加ページ5</a></li> <li class=""><a href="#page12">追加ページ6</a></li> </ul> </div> という様に追記して、この後の<script>は、 <script type="text/javascript"> // <![CDATA[ var elms=[]; var tab1=document.getElementById('tab').getElementsByTagName('li'); var tab2=document.getElementById('tab2').getElementsByTagName('li'); for(i=0;i<tab1.length;i++){ elms.push(tab1[i]); } for(i=0;i<tab2.length;i++){ elms.push(tab2[i]); } tab.setup = { tabs:elms, pages: [ document.getElementById('page1'), document.getElementById('page2'), document.getElementById('page3'), document.getElementById('page4'), document.getElementById('page5'), document.getElementById('page6'), document.getElementById('page7'), document.getElementById('page8'), document.getElementById('page9'), document.getElementById('page10'), document.getElementById('page11'), document.getElementById('page12') ] } tab.init(); // ]]> </script> こう書き換えます。

mirainokai
質問者

補足

上記本当にありがとうございます。 ただ実装してみると、既存のインラインフレームエリアにすべてのリンクが集約してしまいます。 ◆キャプチャ http://blog.livedoor.jp/soken2ch/sample/sample.jpg こんな風になってしまいます。キャプチャのとおり、page8以降は赤い部分に出力したいのですが、どうすればいいでしょうか。 何度も申し訳ございません。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • タブ切替

    下記サンプルを使ってタブ切替のページを作成したのですが、 タブだけでなく、ページ内に「次へ」「戻る」ボタンを追加する方法を教えてください。 ■タブ切替ページ http://archiva.jp/web/javascript/tab-menu.html ■追加内容 page1 最下部に「次へ」のボタンでpage2へ page2 最下部に「戻る」のボタンでpage1、「次へ」のボタンでpage3へ よろしくお願いいたします。

  • タブ切り替え 複数同時を複数組 javascript

    タブ切り替え 複数同時を複数組 javascript タブ切り替えのページを作りたいのですが ググっても複数同時に切り替えるものや複数組のものはあっても 複数同時を複数組切り替えるものはありません。 したいことは |タブ1|タブ2|タブ3| |コンテンツ1-1|コンテンツ1-2|コンテンツ1-3| |タブ4|タブ5|タブ6| |コンテンツ4-1|コンテンツ4-2|コンテンツ4-3| |タブ7|タブ8|タブ9| |コンテンツ7-1|コンテンツ7-2|コンテンツ7-3| ・ ・ ・ これが |タブ1|タブ2|タブ3|←タブ2を押した場合 |コンテンツ2-1|コンテンツ2-2|コンテンツ2-3| |タブ4|タブ5|タブ6|←タブ5を押した場合 |コンテンツ5-1|コンテンツ5-2|コンテンツ5-3| |タブ7|タブ8|タブ9| |コンテンツ7-1|コンテンツ7-2|コンテンツ7-3| ・ ・ ・ というのができません。 上のタブを操作すると 下のコンテンツが消えてしまい 下のタブを操作すると 上が消えたり また複数タブできた場合は 複数箇所同時はできませんでした。 javascript初心者の私にどなたかご教授を。 コンテンツそのものを消すやり方でもいいですが なるべくclassを変更で消す方法がいいです。 よろしくお願いします。

  • Java GUI タブ切り替えについて

    初投稿させていただきます。 至らない点がありましたらご指摘ください。 Java初心者です。 現在、NetBeansを使用して、以下の画面を作成しています。 「jtabbedpaneにPanelを複数追加し、タブ切り替えが行える画面」 画面は作成できるのですが、タブの切り替えに悩んでいます。 タブが右クリック、中クリック(ホイール)でも切り替わってしまいます。 左クリックのみを許容するような方法は無いのでしょうか? 自分の調べ方が悪いのか、検索しても解決方法が見つからず投稿させていただきました。

    • ベストアンサー
    • Java
  • タブ切替えメニューの懸念点について教えてくだい

    いつもお世話になっています。 WEBサイトのリニューアルを計画しています。 予定では、以下のような遷移を考えており、コンテンツ2、もしくは、コンテンツ3に 最終の情報が入ります。 トップメニュー > コンテンツ1 > コンテンツ2 ( > コンテンツ3 ) コンテンツ1、コンテンツ2は、1ページあたりの情報量が多く、長いページになる 予定なので、以下のサイトのようなタブ切替メニューを利用しようと考えています。 http://archiva.jp/web/javascript/tab-menu.html カテゴリ1 と カテゴリ2 両方のページでタブ切替えメニューを使った場合、 ユーザービリティの面やその他の面で懸念することがあれば ご教示いただきたいです。

    • ベストアンサー
    • CSS
  • タブ切り替えが出来るjavascriptを使用しています。

    タブ切り替えが出来るjavascriptを使用しています。 http://5am.jp/jquery/jquery_ui_tabs/ ここのサイトを参考にしてタブ切り替えが動くところまで行きましたが、 どうにかして、別ページからリンクをクリックした時に、特定のタブへ直接飛ぶようにしたいと思っています。 <script type="text/javascript">  $(function() {   $('#ui-tab > ul').tabs({ fx: { opacity: 'toggle', duration: 'fast' } });  }); </script> ヘッダーにある上記のjavascriptを少し編集すればできそうな気がするのですが、 もうお手上げになっちゃいました。 申し訳ないのですが、どなたか教えていただければと思います。 よろしくお願いします。

  • Java Scriptの書き方について教えて下さい。

    Java Scriptの書き方について教えて下さい。 独学なので超初歩的な質問ですが、Java Scriptを外部ファイルにしたいと思っておりますが、外部ファイルには何を記述し、(<head></head>、<body></body>)の中には何を書いたらよくかわかりません。 現在はタグの中にスクリプトを記述しています。あるいは意味も判らずにコピペしています。 初心者にも判りやすい参考書かサイトをご存じでしたら教えて下さい。 宜しくお願い致します。

  • Java Scriptの件で質問をさせて頂きます。よろしくお願いいたし

    Java Scriptの件で質問をさせて頂きます。よろしくお願いいたします。 よく、ホームページの一番下に「このページのトップへ」とか「HOME」などとあり、それをクリックすると、当該のページの一番上まで行くものがありますが、あれはJava Scriptを使っているのでしょうか ?私としては、出来るかどうかは不明なのですが、Java Scriptをcssのような感じで外部ファイルにして「このページのトップへ」を作成したいと考えております。どなた様かご指導のほどよろしくお願いいたします。 また、「このページのトップへ」にやはり何らかのリンクを張るのだと思いますが、その点に付きましてもご指導をどうかよろしくお願いいたします。 また、話は少し変わってしまうのですが、ロールオーバーをホームページの上部に横に並べて表示させたいのですが、このようなこともJava Scriptで出来るのでしょうか?現在はcssで試行錯誤している最中ですが、Java Scriptでも可能ならとも考え合わせてご質問をさせて頂きました。 どなた様か、ご指導のほどよろしくお願いいたします。

  • HTMLにジャバスクリプトを書く位置は?

    http://archiva.jp/web/javascript/tab-menu.html 上記のサイト「タブ切替ジャバスクリプトプログラム」は、上下2つのスクリプトに分かれています。 上のスクリプトは、「置き場所は</body>直前を勧めとく」と解説されています。 下のスクリプトは、「先の起動部分より先に宣言されていなければならない」と解説されています。 それなら、上下を逆にして1個のスクリプトで書けば良いのではないでしょうか? http://hyper-text.org/archives/2007/09/javascript_tab.shtml その問題を解消する為に、上記のサイトでは「window.onload=function() 」で上のスクリプトを囲んでいます。 どうして、この様な解決法になるのでしょうか?

  • タブの切り替えについて

    こちら(http://5am.jp/jquery/jquery_ui_tabs/)のサイトを参考に JSはそのまま使用し、CSSのみ少し手を加えて、タブの切り替えを作成したのですが、 タブを切り替える度にページトップへスクロールしてしまいます。 JSに手を加えてこれを回避する方法はあるのでしょうか?

  • bootstrap3 タブ切替え内でのjquery

    Bootstrap3のTab機能を使い、ページ遷移を行っているのですが、その際にタブ切り替えを行うと 切り替わったコンテンツ内のjavascript が機能しなくなります。 利用しているjquery はbxsliderです。 タブ1内で動いているスライダー、カルーセルをそのままタブ2、3、4にコピーしても動きません。 知識のある方の回答をお待ちしております。 宜しくお願いいたします。

このQ&Aのポイント
  • LAVIE A23でテレビスイッチの作動ができない問題が発生しています。
  • また、テレビ視聴中にテレビスイッチを押してもテレビが終了しない現象も発生しています。
  • その他の機能やモードでは異状はなく、正常に作動していますが、昨年12月に購入したばかりの製品です。
回答を見る