【发布时间】:2012-09-04 18:24:38
【问题描述】:
这是我的设置:
我有一个使用动态包含的模块化网站。主页面需要标题。主页仅负责从网站上的特定链接呈现内容。因此,指向 CSS 和 js 文件的外部链接位于主页的头部,而内容页面是 (php) 文档片段,旨在作为内容包含在主页中。
在客户端,我希望我的菜单使用 Javascript 动态运行。我已经使用 CSS 来设置 :hover、:active 和 :visited 伪类的样式。我定义了两个与活动和非活动按钮相关的单独类。我编写了 js,为链接设置了 onclick 事件,并外部链接了脚本。
问题
Firebug 正在检测脚本,但是当我单击链接时,该功能不会触发。
代码
带有内联函数调用的 HTML 菜单元素:
<ul>
<li class="navLnk"><a href="mylinks.php" tabindex="2" accesskey="2" onclick"asgnActv(this)">BANDS</a></li>
<li class="navLnk"><a href="mylinks.php" tabindex="3" accesskey="3" onclick"asgnActv(this)">RELEASES</a></li>
</ul>
Javascript 函数:
function asgnActv(e){
if (e.className == 'navLnk') {
$lnkArr = document.getElementsByClassName('actvLnk');
for (i=0; i<$linkArr.length; i++) {
$linkArr[i].className = 'navLnk';
}
e.className = 'actvLnk';
}
}
主php页面头部的外部js链接:
<script type="text/javascript" src="script.js"></script>
【问题讨论】:
-
您缺少
=符号:onclick= -
不要使用侵入性的
onclick属性元素,全部在脚本中完成[jQuery会在这方面为你节省大量时间]。 -
如果这就是我错过的一切!...哦,天哪...
-
@moonwave99 你能举个例子吗?
-
啊,首先 - 如果您单击链接,您将转到
mylinks.php并且页面将重新加载,因此您的脚本将毫无用处。如果您希望当前部分具有不同的类,请在服务器端进行。
标签: php javascript html css dynamic