私はこれを一日中機能させようとしてきました、そして私はそこに95%います!誰かが私のコードを見て、1つの(うまくいけば簡単な)ことで私を助けてくれますか?クリックするとスタイルが変わる(アクティブと非アクティブ)3つのCSSタブがあり、対応するdivコンテンツが以下に表示されます。(少なくともFirefoxでは)すべてが機能していますが、私がイライラしているのは、(http://www.digimantra.com/tutorials/simple-tabs-using-javascript-and-css/から)取得したコードです。)同じコンテンツを含む「tabContent」と「tab1Content」を使用します。これは基本的に、私のサイトのコンテンツの大部分を(コードで)複製します。(ユーザーには違いはわかりませんが、私はクリーンなコードにこだわっていて、この一見ずさんな回避策を使用することはできません!)重複コンテンツなしでこれを機能させる方法はありますか?(私にはっきりと話してください。私はxHTMLとCSSを手作業でコーディングするデザイナーであり、jsについては危険なことは十分知っていますが、自分のjsを最初からコーディングすることはできません。許してください!)
完全なコードとcssを使用した私の作業テストはここにあります:http://www.happywivestravel.com/testTabToggle.html
問題のJavaScript:
<script type="text/javascript">
function tabs(x)
{
var lis=document.getElementById("sidebarTabs").childNodes; //gets all the LI from the UL
for(i=0;i<lis.length;i++)
{
lis[i].className=""; //removes the classname from all the LI
}
x.className="selected"; //the clicked tab gets the classname selected
var res=document.getElementById("tabContent"); //the resource for the main tabContent
var tab=x.id;
switch(tab) //this switch case replaces the tabContent
{
case "tab1":
res.innerHTML=document.getElementById("tab1Content").innerHTML;
break;
case "tab2":
res.innerHTML=document.getElementById("tab2Content").innerHTML;
break;
case "tab3":
res.innerHTML=document.getElementById("tab3Content").innerHTML;
break;
default:
res.innerHTML=document.getElementById("tab1Content").innerHTML;
break;
}
}
HTML
<div class="tabContainer" >
<ul class="digiTabs" id="sidebarTabs">
<li id="tab1" class="selected" onclick="tabs(this);">Overview</li>
<li id="tab2" onclick="tabs(this);">Itinerary</li>
<li id="tab3" onclick="tabs(this);">Destination Info</li>
</ul>
<div id="tabContent"><p>Tab 1 content here...</p></div>
<div id="tab1Content" style="display:none;"><p>Tab 1 content repeated here...</p></div>
<div id="tab2Content" style="display:none;"><p>Tab 2 content here...</p></div>
<div id="tab3Content" style="display:none;"><p>Tab 3 content here...</p></div>
これについて何かアイデアを持っている人に感謝します。私は欲しいものを手に入れるのにとても近いです、それは痛いです!=)(明確にするために、私の目的は、アクティブ/非アクティブなタブに基づいて外観を変更する単純なcssのみ(画像なし)のタブ付きナビゲーションを作成することです。jQueryUIを調べましたが、少し大規模に見えます。私は欲しいです、そして私はcssのより簡単な/より良い制御を望んでいました。)