首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用jquery单击时从Div中更改CSS类

上个星期我被困在一个问题上。我在网上查看了很多次,我想我找到了很多次解决方案,但似乎都没有效果。我想要的是以下内容:,当我单击元素A时,我希望更改元素B的类,

我的密码:

Html:

代码语言:javascript
运行
AI代码解释
复制
<div class="header"> 

    <a class="nav-toggle" href="#"><span></span></a>

    <nav class="navigation_menu id="nav">

            <ul class="navigation_ul">

                <li><a href="#">Home</a></li>
                <li><a href="#">About</a></li>
                    <li class="exclude_under_line"><a href="#">Portfolio<span class="drop_arrow">&#9660;</span></a>

                        <ul>

                            <li><a href="#">Trimester 1</a></li>
                            <li><a href="#">Trimester 2</a></li>
                            <li><a href="#">Trimester 3</a></li>

                        </ul>

                    </li>
                <li><a href="#">Contact</a></li>
                <li><a href="#">Forum</a></li>

            </ul>

    </nav>

</div>

CSS:

代码语言:javascript
运行
AI代码解释
复制
/** General Style **/

body {
    background:f5f5f5;
    margin: 0px;
    padding: 0px;
    font-family: 'roboto', sans-serif;
    font-weight: 300;
}

/** Text Style **/

a {
    text-decoration: none;
    color: inherit;
}

/** Header Style **/

.header {
    background: #607d8b;
    margin: 0px;
    padding: 0px;
    padding-bottom: 100px;
    color: white;
    box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
}

/** Navigation Menu **/

    /** Basic Style **/

    .navigation_menu > a { 
        display: none; /* Removes Show Navigation and Hide Navigation */
     }

     .navigation_menu ul{
        margin: 0px; /* Removes the auto create margin around the ul element */
        padding: 0px;
    }

    .navigation_menu li { 
        position: relative; /* Makes Drop Down Menu Work and being showed */
        list-style-type: none; /* Removes dots before Li elements  */
        font-size:18px; /* Makes font size 18 */
    }

    .navigation_menu > ul > li {
        height: 30px; /* Determines The width height between drop down and menu */
        float: left; /* Makes them float besides each other */
        padding-left: 10px;
        padding-right: 10px;
        padding-top: 6px;
        padding-bottom: 2px;
    }

    .navigation_menu > ul > li > ul {
        padding: 0px; /* Removes the automatic created padding around the drop down ul */
        width: 140%; /* Makes the text in drop down menu (whos bigger then parent) not go to a second line */
        margin-top: -4px; /* Pushes the drop down are go down 8 pixels */
        position: absolute; /*Makes the child ul not affect the parent li */
    }

    .navigation_menu li ul {
        display: none;  /* Hides Drop Down */
        margin-left: -10px;
    }

    .navigation_menu li:hover ul {
         display: block; /* Makes Drop Down Menu Work again */
         background: white;
         box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
    }

    /** Drop Arrow Style **/

    .drop_arrow {
        font-size:12px; /* Edits the size of the drop arrow */
        margin-left:4px; /* Moves it a little bit away from the text next to it */
        line-height:0%; /* Makes the icon don't affect the word next to it */
    }

    /* Hamburger  Style */

    .nav-toggle {
        display:none;
    }

    .nav-toggle { cursor: pointer; padding: 10px 35px 16px 0px; }

    .nav-toggle span, .nav-toggle span:before, .nav-toggle span:after {
      cursor: pointer;
      border-radius: 1px;
      height: 3px;
      width: 20px;
      background: white;
      position: absolute;
      display: block;
      content: '';
    }

    .nav-toggle span:before {
      top: -7px; 
    }

    .nav-toggle span:after {
      bottom: -7px;
    }

    .nav-toggle span, .nav-toggle span:before, .nav-toggle span:after {
      transition: all 500ms ease-in-out;
    }

    .nav-toggle.active span {
      background-color: transparent;
    }

    .nav-toggle.active span:before, .nav-toggle.active span:after {
      top: 0;
    }

    .nav-toggle.active span:before {
      transform: rotate(45deg);
    }

    .nav-toggle.active span:after {
      transform: rotate(-45deg);
    }

    @media only screen and ( max-width: 400px )  {

        .nav-toggle {
            display:block;
        }

        .navigation_menu {
            display: none;
        }

        .navigation_menu_new {
             display: block;
        }

    }

Javascript:

代码语言:javascript
运行
AI代码解释
复制
document.querySelector( ".nav-toggle" )
  .addEventListener( "click", function() {
    this.classList.toggle( "active" );
  });

因此,我基本想要的是,当我单击“Nav”div时,我希望"navigation_menu“类(当屏幕大小小于400)从.navigation_menu更改为.navigation_menu_new。我想要这个,所以菜单将从无效到可见后,访问者点击汉堡包。

这是codepen:http://codepen.io/anon/pen/YXVjrv的钢笔

提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-08 11:23:13

一个简单的解决办法是:

代码语言:javascript
运行
AI代码解释
复制
$(".nav-toggle").click(function(){
  $(".navigation_menu").toggleClass("new");
});
票数 0
EN

Stack Overflow用户

发布于 2015-06-08 11:35:30

您可以从这样的toggleClass函数中受益:

代码语言:javascript
运行
AI代码解释
复制
jQuery(document).ready(function(){
    jQuery(".Nav-Toggle").click(function(){
        jQuery(".navigation_menu").toggleClass("navigation_menu_new");
    });
});

根据您希望实现的额外功能,您可能希望探索使用addClass/removeClass,但是为了“交换”类的目的,toggleClass是您所需要的。一定要像我在一个较小的例子中所做的那样测试它,这样您就不必用大图( jsFiddle )使自己变得过于复杂。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30717325

复制
相关文章
【JQuery】JQuery入门——JQuery 插件-validation
validate 是 jQuery 插件,及必须在 jQuery 的基础上进行运行。我们将导入 jQuery 库、 validate
陶然同学
2023/02/27
12.7K0
【JQuery】JQuery入门——JQuery 插件-validation
jQuery 插件
​ jQuery 功能比较有限,想要更复杂的特效效果,可以借助于 jQuery 插件完成。 这些插件也是依赖于jQuery来完成的,所以必须要先引入
梨涡浅笑
2022/05/08
7.2K0
jQuery 插件
jQuery 插件
jQuery 功能比较有限,想要更复杂的特效效果,可以借助于 jQuery 插件完成。
星辰_大海
2020/10/09
6.8K0
jQuery 插件
jQuery 插件
jQuery 功能比较有限,想要更复杂的特效效果,可以借助于 jQuery 插件完成。 这些插件也是依赖于jQuery来完成的,所以必须要先引入
清出于兰
2020/10/26
7.1K0
jQuery 插件
jQuery——插件
        简单来说:“jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(框架)于2006年1月由John Resig发布。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互
用户10196776
2022/11/22
15K0
JQuery插件
1.页面 @{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layout.cshtml"; } <ul id="ul"> <li>第一行</li> <li>第二行</li> <li>第三行</li> <li>第四行</li> <li>第五行</li> <li>第六行</li> </ul> <ul id="ul2"> <li>第一行</li> <li>第二行</li>
用户1055830
2018/01/18
4.1K0
RxJS 之于异步,就像 JQuery 之于 dom
记得当年我刚学 JavaScript 的时候,是从原生的 dom api 学起的,用原生的 dom api 完成一些增删改的功能,之后就会学习 JQuery。
神说要有光zxg
2022/03/03
1.8K0
jQuery插件 -- Form表单插件jquery.form.js
jQuery Form插件是一个优秀的Ajax表单插件,可以非常容易地、无侵入地升级HTML表单以支持Ajax。jQuery Form有两个核心方法 -- ajaxForm() 和 ajaxSubmit(), 它们集合了从控制表单元素到决定如何管理提交进程的功能。另外,插件还包括其他的一些方法: formToArray()、formSerialize()、fieldSerialize()、fieldValue()、clearForm()、clearFields() 和 resetForm()等。 下载地址:
joshua317
2018/04/10
13.8K0
Python jquery标签云
很多知名博主都喜欢弄个标签云。今天特地看了下源码。把标签云的方法单独扣了出来。这里做一下记录
py3study
2020/01/09
1.5K0
Python jquery标签云
jQuery基础--插件
官方API:http://api.jqueryui.com/category/all/
eadela
2019/09/29
3.5K0
jQuery Cookie 插件
Query 可以通过 jquery.cookie.js 插件来操作 Cookie。
陈不成i
2021/07/22
6K0
jQuery插件jQueryUI
jQuery UI是一个功能丰富的jQuery插件集合,提供了一系列用户界面组件和效果,可用于创建交互性强、视觉效果丰富的网页应用程序。
堕落飞鸟
2023/05/18
2.8K0
jquery 滚轮插件 jquery.mousewheel.js
jquery中没有鼠标滚轮事件,那么可以使用jquery的滚轮事件插件jquery.mousewheel.js。
Devops海洋的渔夫
2019/05/31
5K0
jQuery常用插件
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
奋飛
2019/08/15
3.3K0
jquery ajaxform插件
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script src="../../scripts/jquery.js" type="text/javascript"></script> <script src="lib/jquery.form.js" type="text/javascript"></script> <script type="text/javascript"> // json
用户5760343
2019/10/10
8.4K0
jquery ajaxform插件
jQuery插件jQueryValidate
jQuery Validate是一个流行的jQuery表单验证插件,用于验证用户输入的表单数据。它提供了一组简单且强大的验证规则和选项,使开发人员能够轻松地实现客户端表单验证功能。
堕落飞鸟
2023/05/18
2.4K0
The jQuery UI CSS Framework
jQuery UI是 jquery官方推出的配合jquery使用的用户界面组件集合!包含了许多的界面操作功能,如我们常用的表格排序,拖拽,TAB选项卡,滚动条,相册浏 览,日历控件,对话框等 JS插件~~可以很方便的开发用户界面上的功能,使得您的开发工作事半功倍~~不用写繁琐的JS代码。 jQuery UI提供了一个强大的CSS Framework,为用户定义使用jQuery widgets。其中的ThemeRoller更是让你随心所欲地操作设计不同风格的网页界面。 jQuery UI是一套基于jquery
张善友
2018/01/19
2.4K0
jQuery Verbose Calendar:显示整年的 jQuery 日历插件
jQuery Verbose Calendar 是一个可以把整年的日历显示在一个页面上的 jQuery 插件,加载之后,它会自动滚到今天的日期处,当你鼠标移动到日期上,可以显示今天星期几。并且这个日历插件支持 Callback 函数,当你点击某个日期的时候,你可以执行一些自定义行为,或者插入任意的 HTML 元素。
Denis
2023/04/15
2K0
教你开发jQuery插件(转) 教你开发jQuery插件(转)
原文:http://www.cnblogs.com/Wayou/p/jquery_plugin_tutorial.html
用户1518699
2018/09/12
3.4K0
教你开发jQuery插件(转)
		教你开发jQuery插件(转)
jquery弹窗插件dialog_jquery进度条插件
网页顶部进度条插件的有四五种,基本原理就是动态地创建一个元素,然后通过设置它的width来实现动画效果,width增长到达指定位置时,将其去掉。 来看看nanobar.js作者jacoborus是怎么做到的吧!
全栈程序员站长
2022/08/04
4K0

相似问题

有没有不需要jQuery.UI的jQuery可排序插件

20

有没有可以替代html select标签的jQuery插件?

40

jQuery对话框插件就像广告一样

10

有没有jQuery投票插件?

27

有没有jquery的滚动插件?

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档