gpt4 book ai didi

php - Javascript + 动态菜单 + 当前链接样式 (CSS) + 基于 PHP 的站点

转载 作者:太空宇宙 更新时间:2023-11-04 15:40:01 25 4
gpt4 key购买 nike

这是我的设置:

我有一个使用动态包含的模块化网站。主页需要标题。主页只负责从站点上的特定链接呈现内容。因此,到 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>

最佳答案

我猜有两个错误,一个是@Joseph 提到的缺少“=”符号,另一个是在您检查其类名的js 代码中,而此类“navLnk”被定义到其父元素,即< li >

所以要开始工作,要么指定 anchor 元素的类,要么使用下面的脚本,如果你想要它用于 li 元素

function asgnActv(e){
if (e.parentNode.className == 'navLnk') {
$lnkArr = document.getElementsByClassName('actvLnk');
for (i=0; i<$linkArr.length; i++) {
$linkArr[i].className = 'navLnk';
}
e.parentNode.className = 'actvLnk';
}
}

希望这会有所帮助。

关于php - Javascript + 动态菜单 + 当前链接样式 (CSS) + 基于 PHP 的站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12269293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com