Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 菜单onclick功能不可见_Javascript_Jquery_Css_Html - Fatal编程技术网

Javascript 菜单onclick功能不可见

Javascript 菜单onclick功能不可见,javascript,jquery,css,html,Javascript,Jquery,Css,Html,我试图改变菜单按钮颜色的基础上,该网站的页面上的人点击。当我单击菜单链接时,根本没有调用onclick函数(我尝试了console.log()。我使用header.php文件将头加载到每个页面中,因此我不能仅通过html更改基于哪个页面加载的类。我正在使用jquery: <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> css 试试下面的代码 您的代码无

我试图改变菜单按钮颜色的基础上,该网站的页面上的人点击。当我单击菜单链接时,根本没有调用onclick函数(我尝试了console.log()。我使用header.php文件将头加载到每个页面中,因此我不能仅通过html更改基于哪个页面加载的类。我正在使用jquery:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
css

试试下面的代码

您的代码无法工作,因为它正在重定向到另一页

$(文档).ready(函数(){
$('.nav li a')。在('click',function()上{
$(此).toggleClass(“选定”);
返回false;
});
});
a{
颜色:#ddd;
}
a、 精选{
颜色:红色;
}


在php头文件中,为什么不检查页面,然后应用类

<nav id = "menu">
            <ul class="nav">
                <li><a class="toggle-colour <? if($_SERVER['PHP_SELF'] == "/index.php"){ echo "selected"; } ?>" href = "index.php">Home</a></li>
                <li><a class="toggle-colour <? if($_SERVER['PHP_SELF'] == "/work.php"){ echo "selected"; } ?>" href = "work.php">Work</a></li>
                <li><a class="toggle-colour <? if($_SERVER['PHP_SELF'] == "/clients.php"){ echo "selected"; } ?>" href = "clients.php">Clients</a></li>
                <li><a class="toggle-colour <? if($_SERVER['PHP_SELF'] == "/contact.php"){ echo "selected"; } ?>" href = "contact.php">Contact</a></li>

            </ul>
    </nav>


。。。因此,正如其他人所指出的,当您更改页面时,javascript代码不会跟随。如果您想在页面更改时突出显示它们所在的页面,您可以执行类似上述操作。上面检查页面并应用类(如果它们在该页面上)。

因为页面会导航到别处。。。。CSS不会粘附在下一个页面加载上。页面在加载新的
.php
时会刷新,其余代码是正确的:@epascarello是正确的。您的代码执行以下操作:单击:颜色已更改->页面重新加载+将所有颜色重置为原始颜色。如果将小提琴中的HREF更改为“#”,则可以在同一页面中看到导航效果:颜色更改。离开页面的导航会导致新页面加载+重置所有颜色。
 $(document).ready(function() {

  $('.nav li a').on('click', function() {
      $(this).toggleClass("selected");  
    });
});
 a { color: #fff; }
a.selected {
        color: #444;
    }
<nav id = "menu">
            <ul class="nav">
                <li><a class="toggle-colour <? if($_SERVER['PHP_SELF'] == "/index.php"){ echo "selected"; } ?>" href = "index.php">Home</a></li>
                <li><a class="toggle-colour <? if($_SERVER['PHP_SELF'] == "/work.php"){ echo "selected"; } ?>" href = "work.php">Work</a></li>
                <li><a class="toggle-colour <? if($_SERVER['PHP_SELF'] == "/clients.php"){ echo "selected"; } ?>" href = "clients.php">Clients</a></li>
                <li><a class="toggle-colour <? if($_SERVER['PHP_SELF'] == "/contact.php"){ echo "selected"; } ?>" href = "contact.php">Contact</a></li>

            </ul>
    </nav>