javascript - 使用 onClick 通过 javascript 更改类

标签 javascript jquery html class onclick

我正在开发一个菜单,该菜单在鼠标悬停和鼠标移开时为每个 li 的填充和颜色属性设置动画,并且我想通过更改链接的类来停止动画和颜色更改。到目前为止,我已经将动画指定为a.inactive,并希望通过onclick 事件将类更改为a.active。到目前为止,我已经在此网站上找到了一些有用的资源,我将在下面粘贴这些资源。

$("#menu li a").click(function (){
if (!$(this).hasClass("inactive")) {
$("a.inactive").removeClass("inactive");
$(this).addClass("active");
}
});

上面的代码似乎是票证,但作为 javascript 的菜鸟,我在创建一个可以通过 onClick 执行的函数时遇到了麻烦。这是 HTML:

<ul id="menu">
                <li class="landscape-architecture"><a class="inactive" href="#project1" onclick="changeClass();"><span class="menu_year">2006/</span>AQUEOUS PLAN</a></li>

任何帮助将不胜感激。谢谢!

编辑 - 由于下面提供的代码应该可以工作,但不能工作,所以我继续输入鼠标悬停/鼠标悬停动画的代码,看看是否由于某种奇怪的原因会发生冲突:

    $('#menu li').click(function () {   
    window.location = $(this).find('a').attr('href')

}).mouseover(function (){

    $(this).find('a.inactive')
    .animate( { paddingLeft: padLeft, paddingRight: padRight}, { queue:false, duration:100 } )
    .animate( { backgroundColor: colorOver }, { queue:false, duration:200 });

}).mouseout(function () {

    $(this).find('a.inactive')
    .animate( { paddingLeft: defpadLeft, paddingRight: defpadRight}, { queue:false, duration:100 } )
    .animate( { backgroundColor: colorOut }, { queue:false, duration:200 });

}); 

最佳答案

上面的代码适合您吗?假设您的文件中加载了 jQuery 库,将第二行更改为:

if ($(this).hasClass("inactive")) {

看起来效果不错!您在那里的函数将在指定的 <a> 时运行。单击元素。您甚至不需要 HTML 中的 onclick 元素。

但是,如果您确实想利用 onclick 元素并将当前代码转换为可以在其他地方使用的函数,您可以执行以下操作:

function change_class() {
    if ($(this).hasClass("inactive")) {
        $(this).removeClass("inactive").addClass("active");
    }
});

并使用onclick="change_class()"在您的 HTML 中。

这是一个用于测试的 JSFiddle:http://jsfiddle.net/TVms6/

关于javascript - 使用 onClick 通过 javascript 更改类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6443590/

相关文章:

javascript - 如何使用nodejs以区域语言发送短信?

javascript - 多级静态路由架构React Router v4

javascript - 从多选中的选定选项中获取属性值

php - HTML 中的多个提交按钮

javascript - 使用 header 位置和传递参数重定向 php

javascript - 如何在 Facebook 上发布幻灯片?

javascript - JQuery 表遍历

jquery - 以编程方式选择和加载 jquery 选项卡

javascript - 根据查询字符串值自定义元信息

html - 我们不应该再使用 <main> 元素了吗?