我想創建一個JavaScript函數來添加和刪除一個類到列表元素的基礎上#tag在頁面上的URL結束。這個頁面有幾種不同的狀態,每個狀態在URL中都有不同的#號。Javascript函數將類添加到基於URL中的#列表元素
我目前使用這個腳本,當用戶第一次加載頁面時,基於URL中的#改變給定元素的樣式,但是如果用戶導航到頁面的不同部分,頁面加載保持,我希望它改變。
<script type="text/javascript">
var hash=location.hash.substring(1);
if (hash == 'strategy'){
document.getElementById('strategy_link').style.backgroundPosition ="-50px";
}
if (hash == 'branding'){
document.getElementById('branding_link').style.backgroundPosition ="-50px";
}
if (hash == 'marketing'){
document.getElementById('marketing_link').style.backgroundPosition ="-50px";
}
if (hash == 'media'){
document.getElementById('media_link').style.backgroundPosition ="-50px";
}
if (hash == 'management'){
document.getElementById('mangement_link').style.backgroundPosition ="-50px";
}
if (hash == ''){
document.getElementById('shop1').style.display ="block";
}
</script>
此外,我使用的功能改變類元素的onClick的,但是,當用戶從另一頁涉及到一個特定的#在頁面上直接再點擊到不同的位置,兩個元素出現活性。
<script type="text/javascript">
function selectInList(obj)
{
$("#circularMenu").children("li").removeClass("highlight");
$(obj).addClass("highlight");
}
</script>
你可以在這裏看到: http://www.perksconsulting.com/dev/capabilities.php#branding
。
對不起,缺乏清晰度。問題是如何修改首先列出的函數以添加和刪除類:突出顯示,基於網址中的哈希而不是像當前那樣點擊。 我意識到我正在用當前函數內聯元素的樣式,我會修改類而不是樣式。
謝謝。
在上述文本中沒有一個問題 - 請形成一個問題。 – 2010-05-20 19:49:52
非常好的網站,但我不明白你的問題... – Rbacarin 2010-05-20 20:09:20
John Hartsock有解決方案,但是,肖恩,你可能想再次看看你的代碼 - 沒有元素與id = shop1作爲去http:///www.perksconsulting.com/dev/capabilities.php#doesnotexist說明 – 2010-05-20 20:32:38