2013-10-21 83 views
0

我正在致力於已由其他人構建的網站的導航。它們有一個活動的類,用於頁面所在的鏈接,但是當最後一個類被添加到活動類鏈接時,它只會呈現瀏覽器中的活動鏈接。我在瀏覽器中查看了源代碼,只有兩個類中的一個顯示出來。最後一個導航項目是唯一具有此第二類的項目。只有當頁面位於最後一個導航項目時,它才能正常工作。鏈接將不會呈現兩個類

我猜這可能是我忽略的簡單東西。我感謝任何幫助。

tl:dr - 我只能在最後一個導航項上呈現.last類。

我很抱歉,如果CSS是可怕的。我沒有寫。

網站頁面:http://securitybank.designangler.com/insurance

CSS:

#navigation .MainNavigation{ 
position:relative; 
padding:12px 0px; 
margin:0px 0px 0px 8px; /* left margin Changed from 28px on 10-21-13 */ 
list-style:none; 
} 

#navigation .MainNavigation li{ 
display:inline; 
padding:12px 0px 0px 0px; 
margin:0px 0px 0px 0px; 
text-align:center; 
} 

#navigation .MainNavigation li a{ 
font-size:13px; 
color:#FFF; 
text-decoration:none; 
padding:12px 14px 12px 14px; 
margin:0px 0px 0px 0px; 
border-left:#648558 2px solid; 
} 

#navigation .MainNavigation li a.last{ 
border-right:#648558 2px solid; 
} 

#navigation .MainNavigation li a.active{ 
padding:12px 19px 12px 17px; 
background: url(/_images/bkgd_Active.png) repeat; 
} 

#navigation .MainNavigation li a:hover{ 
background: url(../_images/bkgd_NavHover.png); 
} 
+0

恩的幫助下固定的,我試圖添加兩個類通過控制檯和css工作正常。我已經將兩個類添加到菜單中的各種項目,並仍然有效。可以肯定的是:你的問題是,.active和.last在一起使用時似乎不起作用。 –

+0

@vladsaling年似乎是問題。當我查看頁面源代碼時,我在導航項上看到兩個類,但是當我真的去檢查它時,.last不是呈現。它應該做的就是在最後一個導航項上放置一個2px的右邊界。 – Phorden

+0

@Phorden當我打開頁面時,我只看到「保險」項目上的活躍課程。當我添加.last(通過控制檯)時,它工作正常。嘗試打開關閉JavaScript的頁面。當我這樣做的時候,兩個班都在開始工作,兩人都在工作。看起來像JS是刪除頁面加載「最後」類 - 我知道這聽起來很奇怪 –

回答

2

經過簡短的討論,得出的結論是,這個類「主動」被嵌入的JavaScript,並且由於設定錯誤,相同的腳本被移除頁面加載時類爲「last」。

特別是這一行的JS:

aObj[i].className='active'; 

解決辦法是更換上面一行:

var saved = aObj[i]; saved.className = saved.className + " active"; 

How do I add a class to a given element?