我想创建一个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