2012-10-09 37 views
0

我想在我的网站上的页面上放置标准菜单。我使用一个包含文件,如下图所示:使用javascript编辑包含文件

<div class="header box"> 
<ul class="nav box"> 
<li class="current" id="home"><a href="index.php" onclick="current('home')">Home</a></li> 
<li class="" id="onlineSchedule"><a href="onlineSchedule.php" onclick="current(this)">Online Schedule</a></li> 
<li class="" id="partners"><a href="partners.php" onclick="current(this)">Partners/Centers</a></li> 
<li class="" id="services"><a href="services.php" onclick="current(this)">Services</a></li> 
<li class="" id="products"><a href="products.php" onclick="current(this)">Products</a></li> 
<li class="" id="newsHighlights"><a href="newsHighlights.php" onclick="current(this)">News/Highlights</a></li> 
<li class="" id="signup"><a href="signup.php" onclick="current(this)">Sign Up!</a></li> 
<li class="" id="feedback"><a href="feedback.php" onclick="current(this)">Feedback</a></li> 
</ul> 

但我希望类改变每当我点击不同的页面“当前”类凸显在菜单中的链接。我该怎么做呢?我试过的Javascript如下shwon但它不提前工作...日Thnx

function current(page) 
{ 
    //alert(page); 
    document.getElementById("home").setAttribute("class", ""); 
    document.getElementById("onlineSchedule").setAttribute("class", ""); 
    document.getElementById("partners").setAttribute("class", ""); 
    document.getElementById("services").setAttribute("class", ""); 
    document.getElementById("products").setAttribute("class", ""); 
    document.getElementById("newsHighlights").setAttribute("class", ""); 
    document.getElementById("signup").setAttribute("class", ""); 
    document.getElementById("feedback").setAttribute("class", ""); 

    document.getElementById(page).className += "current"; 
    var temp = document.getElementById("home").getAttribute("class"); 
    alert(temp); 
} 
+0

您是否尝试过使用className? document.getElementById(“home”)。className + =“clicked”; – scusyxx

+0

['jQuery'](http://jquery.com/)可以让你的生活变得更轻松:) – Nemoden

+0

javascript部分看起来不完整。你已经做了这个功能,但是这个功能没有运行。你可以包含更多的JavaScript部分? – VKen

回答

1

这里是工作的代码示例:我假设你想格式化的环节

<style type="text/css"> 
.current { 
    color: red; 
} 
.current a { 
    color: green; 
} 
</style> 
<div class="header box"> 
<ul class="nav box"> 
<li class="current" id="home"><a href="index.php" onclick="current('home')">Home</a></li> 
<li class="" id="onlineSchedule"><a href="onlineSchedule.php" onclick="current(this)">Online Schedule</a></li> 
<li class="" id="partners"><a href="partners.php" onclick="current(this)">Partners/Centers</a></li> 
<li class="" id="services"><a href="services.php" onclick="current(this)">Services</a></li> 
<li class="" id="products"><a href="products.php" onclick="current(this)">Products</a></li> 
<li class="" id="newsHighlights"><a href="newsHighlights.php" onclick="current(this)">News/Highlights</a></li> 
<li class="" id="signup"><a href="signup.php" onclick="current(this)">Sign Up!</a></li> 
<li class="" id="feedback"><a href="feedback.php" onclick="current(this)">Feedback</a></li> 
</ul> 
<script type="text/javascript"> 
function current(page) 
{ 
    document.getElementById("home").setAttribute("class", ""); 
    document.getElementById("onlineSchedule").setAttribute("class", ""); 
    document.getElementById("partners").setAttribute("class", ""); 
    document.getElementById("services").setAttribute("class", ""); 
    document.getElementById("products").setAttribute("class", ""); 
    document.getElementById("newsHighlights").setAttribute("class", ""); 
    document.getElementById("signup").setAttribute("class", ""); 
    document.getElementById("feedback").setAttribute("class", ""); 

    document.getElementById(page).className = "current"; 
} 

current("home"); 
</script> 

好吧,所以我展示了如何通过在.current a { }中添加哪些内容来放置当前链接的CSS。 .current { }大多只会影响列表项目。

+0

它不工作..当前类的css格式不出现... 请注意,该链接是在一个名为topLinks.php的PHP文件,并将其包括在我的所有文件中...像这样: < ?php包含'topLinks.php'; ?> shud我把java脚本放在topLinks.php文件或网页文件中?香港专业教育学院试图两个,他们不工作..并且我测试过,看看这个班是否已经改变..如果你注意到警报功能......它返回,类已经改变为当前...但格式不出现..: ( – user1703514

+0

)将你当前的CSS添加到你的文章中,JavaScript需要在链接后执行''body'的'onload'。 – Rhyono

+0

onload of the body !!!! that worked!tq so much .. 。 – user1703514