JavaScript基础教程之JavaScript实例操作
沉沙 2018-11-23 来源 : 阅读 1188 评论 0

摘要:本篇教程介绍了JavaScript基础教程之JavaScript实例操作,希望阅读本篇文章以后大家有所收获,帮助大家对JavaScript的理解更加深入。

本篇教程介绍了JavaScript基础教程之JavaScript实例操作,希望阅读本篇文章以后大家有所收获,帮助大家对JavaScript的理解更加深入。

<

实现左侧菜单功能,有以下三种方法:

a、方法一

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title></title>

    <style>

        .hide{


            display: none;

        }

    </style>

</head>

<body>

    <div>

        <div>

            <div id="m1" onclick="change(1)">菜单一</div>

            <div>

                <div>1</div>

                <div>2</div>

                <div>3</div>

                <div>4</div>

            </div>

        </div>

        <div>

            <div id="m2" onclick="change(2)">菜单二</div>

            <div class="hide">

                <div>1</div>

                <div>2</div>

                <div>3</div>

                <div>4</div>

            </div>

        </div>

        <div>

            <div id="m3" onclick="change(3)">菜单三</div>

            <div class="hide">

                <div>1</div>

                <div>2</div>

                <div>3</div>

                <div>4</div>

            </div>

        </div>

    </div>

<script src="jquery-3.1.0.min.js" type="text/javascript"></script>

<script type="text/javascript">

    function change(arg){

        if(arg == 1){

            var menu=$('#m1')

        }else if(arg == 2){

            var menu = $('#m2')

        }else{

            var menu = $('#m3')

        }

        console.log(menu.text());


    }

</script>

</body>

</html>

运行结果:

wKioL1fHoIfSp4ipAAC101QRKhg896.png

解析:鼠标点击菜单一时,arg == 1,通过$('#m1')获取对应标签然后赋值给menu;获取两个标签之间的内容可以用menu.text()来操作.


b、方法二

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title></title>

    <style>

        .hide{


            display: none;

        }

    </style>

</head>

<body>

    <div>

        <div>

            <div onclick="change(this)">菜单一</div>

            <div>

                <div>1</div>

                <div>2</div>

                <div>3</div>

                <div>4</div>

            </div>

        </div>

        <div>

            <div  onclick="change(this)">菜单二</div>

            <div class="hide">

                <div>1</div>

                <div>2</div>

                <div>3</div>

                <div>4</div>

            </div>

        </div>

        <div>

            <div onclick="change(this)">菜单三</div>

            <div class="hide">

                <div>1</div>

                <div>2</div>

                <div>3</div>

                <div>4</div>

            </div>

        </div>

    </div>

<script src="jquery-3.1.0.min.js" type="text/javascript"></script>

<script type="text/javascript">

     function change(arg){


         var t = $(arg).text();

         console.log(t);

     }


</script>

</body>

</html>

显示结果:

wKioL1fHptDixmWQAACm3Eh-ZoY327.png

解析:当点击菜单一,那么change(this)传递过来的$(arg)就是菜单一;同样如果是菜单二,则$(arg)传过来的是菜单二,依次类推,换句话说changge(this)中的this表示的就是点击的当前标签,但是通过change(this)传递到函数change(arg)中,然后用$(arg)就变成了jQuery的选择器,所以就可以把$(arg).text()交给jQuery进行分析,另外如果我们有多个菜单,这样写相对方法一要省去很多if判断的步骤。

c、方法三

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title></title>

    <style>

        .hide{


            display: none;

        }

    </style>

</head>

<body>

    <div>

        <div>

            <div onclick="change(this)">菜单一</div>

            <div class ="content hide">

                <div>1</div>

                <div>2</div>

                <div>3</div>

                <div>4</div>

            </div>

        </div>

        <div>

            <div  onclick="change(this)">菜单二</div>

            <div class="content hide">

                <div>1</div>

                <div>2</div>

                <div>3</div>

                <div>4</div>

            </div>

        </div>

        <div>

            <div onclick="change(this)">菜单三</div>

            <div class="content hide">

                <div>1</div>

                <div>2</div>

                <div>3</div>

                <div>4</div>

            </div>

        </div>

    </div>

<script src="jquery-3.1.0.min.js" type="text/javascript"></script>

<script type="text/javascript">

     function change(arg){

         $(arg).next().removeClass('hide');

         $(arg).parent().siblings().find('.content').addClass('hide');

     }


</script>

</body>

</html>

演示结果:

wKioL1fHrz7z2OETAABRlSiRRog755.png

解析:

$(arg)表示当前点击的标签

①找到下一个标签,移除hide

$(arg).next()下一个标签

removeClass('')删除标签中的某个属性

addClass('')当前标签中添加一个属性

$(arg).next().removeClass('hide') 在下一个标签中移除样式"hide"

②、找到其他标签,隐藏其内容,即添加一个hide

$(arg).parent()当前标签的父标签

$(arg).parent().siblings() 所有父标签的兄弟标签

$(arg).parent().siblings().find('.content').addClass('hide') 在所有父标签的兄弟标签中找到含有"content"的标签并且添加一个"hide"样式    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标WEB前端JavaScript频道!

本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved