Js实现原生二级菜单「建议收藏」

Js实现原生二级菜单「建议收藏」<!DOCTYPEhtml><htmllang=”en”><head><metacharset=”UTF-8″><metaname=”viewport”content=”width=device-width,initial-scale=1.0″><metahttp-equiv=”X-…

大家好,又见面了,我是你们的朋友全栈君。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>二级菜单</title>
    <style>
        span{
            background-color: pink;
        }
        #menu{
            background-color: orange;
            width: 90px;
            font-size: 30px;
            text-align: center;
            cursor: pointer;
            margin: auto;
            margin-top: 100px;
        }
        .fold{
            height: 30px;
            overflow: hidden;
        }
        a{
            font-size: 20px;
        }
    </style>
   
</head>
<body>
    <div id="menu">
        <div class="fold"><span>羊村</span>
            <br>
            <a href="#">喜羊羊</a><br>
            <a href="#">美羊羊</a><br>
            <a href="#">懒羊羊</a><br>
            <a href="#">懒羊羊</a><br>
        </div>
        <div class="fold"><span>羊村</span>
            <br>
            <a href="#">喜羊羊</a><br>
            <a href="#">美羊羊</a><br>
            <a href="#">懒羊羊</a><br>
            <a href="#">美羊羊</a><br>
            <a href="#">懒羊羊</a><br>
        </div>
        <div class="fold"><span>羊村</span>
            <br>
            <a href="#">喜羊羊</a><br>
            <a href="#">美羊羊</a><br>
            <a href="#">懒羊羊</a><br>
            <a href="#">喜羊羊</a><br>
            <a href="#">美羊羊</a><br>
            <a href="#">懒羊羊</a><br>
        </div>
    </div>
</body>
<script src="./tools.js"></script>
<script>
var spans = document.getElementsByTagName('span'); //获取span标签
var opendiv = spans[0].parentNode;
removeClass(opendiv,'fold');

 for(var i = 0; i < spans.length; i++){
    spans[i].onclick = function(){
        var clickdiv = this.parentNode;
       // alert(clickdiv);
        menutoggle(clickdiv);
       // toggleClass(clickdiv,'fold');
        if(opendiv!=clickdiv && !hasClass(opendiv,'fold')){
            //addClass(opendiv,'fold');
            //toggleClass(opendiv,'fold');
            menutoggle(opendiv);
        }
        opendiv = clickdiv;

    }
}
/* 定义菜单切换以及动画效果 */ 
function menutoggle(obj){
    //在切换样式之前元素的高度
    var begin = obj.offsetHeight;
    //切换样式
    toggleClass(obj,'fold');
    //切换之后的高度
    var end = obj.offsetHeight;
    //将元素样式切换到变化前,来设置动画效果
    obj.style.height = begin + 'px';
    obj.style.overflow = 'hidden';
    move(obj,'height',end,10,function(){
        obj.style.height = ""; //内联样式取消,防止影响下次触发动画样式不变
    });

}

</script>

</html>

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135395.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux(dpkg 命令用法)[通俗易懂]

    linux(dpkg 命令用法)[通俗易懂]linux环境安装labview

    2022年5月21日
    28
  • 史上最详细Sqlyog详细安装教程及使用

    史上最详细Sqlyog详细安装教程及使用Sqlyog的安装使用如果这篇文章帮到了你,请帮我点点赞哦,感谢啦先上资源:链接:https://pan.baidu.com/s/1cCcMbo7IES_1dBubk9Rs9g提取码:a8fn如果资源失效了,可以再评论区告诉我,我每天都会上CSDN的1)下载后解压2)以管理员身份运行安装包3)选择软件的语言,我这里选的是中文4)接下来一直下一步5)选择安装路径,然后安装,安装后下一步,然后就完成了。6)打开我们的sqlyog,发现需要证书。打开刚刚解压后的文件夹,有

    2022年5月28日
    57
  • resultMap和resultType区别

    resultMap和resultType区别resultType:指定输出结果的类型(pojo、简单类型、hashmap..),将sql查询结果映射为java对象。使用resultType注意:sql查询的列名要和resultType指定pojo的属性名相同,指定相同属性方可映射成功,如果sql查询的列名要和resultType指定pojo的属性名全部不相同,list中无法创建pojo对象的。resultMap:将sql查询结…

    2022年10月23日
    0
  • 组态王系统管理员默认密码_管理没有本地用户和组

    组态王系统管理员默认密码_管理没有本地用户和组用户和组管理a) 用户分类i. 超级用户:root拥有系统最高的管理权限uid=0(root)gid=0(root)组=0(root)ii. 普通用户系统用户:系统自带的拥有特定功能的用户(编号:1-999)本地用户:使用者新建的用户(编号:1000+)iii. 虚拟用户:这些用户通常不用于登录系统,只是用于维持某些服务的正常运行;b) 创建用户命令useradd[选项]用户名或者adduser-ccomment指定一段注释性描述-d目录指定用户家目.

    2022年8月10日
    77
  • 用代码生成器生成mybaitsPlus的代码

    用代码生成器生成mybaitsPlus的代码

    2020年11月12日
    214
  • Java 逻辑运算符(&、|、^、!、&&、||)

    Java 逻辑运算符(&、|、^、!、&&、||)一、逻辑运算符短路逻辑运算符与逻辑运算符的区别是:逻辑运算符:先走一遍,在判断短路逻辑运算符:一但符合条件,后面的判断不走二、逻辑运算符逻辑运算符:&、|、^、!案例代码publicclasstest{publicstaticvoidmain(String[]args){//定义变量inti=10;intj=20;intk=30;//&:有false

    2022年10月29日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号