vue门户系统实现顶部菜单下拉效果

门户系统实现顶部菜单下拉效果请添加图片描述

组件封装

直接上代码,已经封装成组件,只要传输正确的数据格式即可使用。

<template>
<div class="head-v3" id="index"><div class="navigation-up"><div class="navigation-inner"><div class="navigation-v3"><ul><ul><li v-for="i in nevigatelist" :_t_nav="i.nav" :key="i.nav"><div @click="!i.isChil?routerClick(i) : ''"><h2><span href="#">{{i.label}}</span></h2></div></li></ul></ul></div></div></div><div class="navigation-down"><div v-for="i in menuList" :id="i.remark" :class="i.remark == 'example' ? ['nav-down-menu','menu-1'] : ['nav-down-menu','menu-3','menu-1']" style="display: none;" :_t_nav="i.remark" :key="i.id"><div class="navigation-down-inner"><dl v-for="item in i.children" :key="item.id"><div v-if="item.children.length > 0"><dt v-if="item.name !=''">{{item.name}}</dt><dd v-for="y in item.children" :key="y.name"><span class="link hoverbtn" @click="routerClick(y)">{{y.name}}</span></dd></div><div v-else><dd><span class="link hoverbtn" @click="routerClick(item)">{{item.name}}</span></dd></div></dl></div></div></div>
</div>
</template><script>export default {name: "MenuCom",props: {menuList: Array},	data() {return {//顶部菜单显示的数组nevigatelist:  [{id: '1',//排序nav: 'home',//自定义名称label: '平台介绍',//中文名称isChil: false,//如果是一级菜单直接跳转path: "/home" //路由}, {id: '2',nav: 'example',label: '应用实例',isChil: true,path: "/home"}, {id: '3',nav: 'application',label: '应用组件',isChil: true,path: "/home"}, {id: '4',nav: 'shared',label: '共享服务',isChil: true,path: "/home"}, {id: '5',nav: 'colophon',label: '版本记录',isChil: true,path: "/home"}, {id: '6',nav: 'onlinetest',label: '在线调试',isChil: false,path: "/onLineTest"}, {id: '7',nav: 'onlinestatistics',label: '接口调试统计',isChil: false,path: "/onLineStatistics"}],//下拉菜单显示的数组,如果是固定的下拉内容直接在data里写即可以// menuList:[{//children: [//children: [//children: []//ico: null//id: "36d8fe4b-0030-4c8f-a123-912341751000"//interfacePath: null//isNewTab: false//level: 1//menuType: 1//name: "平台介绍"//path: "/home"//remark: "home"//]//ico: null//id: "36d8fe4b-0030-4c8f-a123-912341751000"//interfacePath: null//isNewTab: false//level: 1//menuType: 1//name: "平台介绍"//path: "/home"//remark: "home"//]//ico: null//id: "36d8fe4b-0030-4c8f-a123-912341751000"//interfacePath: null//isNewTab: false//level: 1//menuType: 1//name: "平台介绍"//path: "/home"//remark: "home"}]}},created() {},mounted() {console.log($('[_t_nav]'))var qcloud = {};//因为数据是组件间传输所以,需要使用定时器,不然结构已经加载完,数据都没有回填,导致没有赋值相关属性setTimeout(() => {$('[_t_nav]').hover(function() {// debugger// console.log($('[_t_nav]'))var _nav = $(this).attr('_t_nav');clearTimeout(qcloud[_nav + '_timer']);qcloud[_nav + '_timer'] = setTimeout(function() {$('[_t_nav]').each(function() {$(this)[_nav == $(this).attr('_t_nav') ? 'addClass' : 'removeClass']('nav-up-selected');});$('#' + _nav).stop(true, true).slideDown(200);}, 150);},function() {var _nav = $(this).attr('_t_nav');clearTimeout(qcloud[_nav + '_timer']);qcloud[_nav + '_timer'] = setTimeout(function() {$('[_t_nav]').removeClass('nav-up-selected');$('#' + _nav).stop(true, true).slideUp(200);}, 150);});},500);},methods:{//这里是我实际开发的路由跳转,需要根据实际开发修改routerClick(data) {// 接口页console.log("data",data)if (data.menuType == 2) {this.$router.push({name: 'Interface',query: {pdfUrl: data.path,name: data.name}});return;}// 站外链接if (data.isNewTab && data.menuType == 1 ) {window.open(data.path, '_blank');return;}this.$router.push({path: data.path,});}}
}
</script>
<style lang="scss" scoped>
.head-v3{position:relative;z-index:100;width:100%;}
.head-v3 .navigation-inner{margin:0 auto;width:100%;position:relative}
.navigation-up{height:60px;margin-left: 280px;}
.navigation-up .navigation-v3{float:left;_margin-left:10px}
.navigation-up .navigation-v3 ul{float:left}
.navigation-up .navigation-v3 li{float:left;font:normal 13px/59px "microsoft yahei";color:#fff}
.navigation-up .navigation-v3 .nav-up-selected{background:#344157}
.navigation-up .navigation-v3 .nav-up-selected-inpage{background:#202833}
.navigation-up .navigation-v3 li h2{font-weight:normal;padding:0;margin:0}
.navigation-up .navigation-v3 li h2 span{padding:0 10px;color:#fff;display:inline-block;height:60px;font-family:"microsoft yahei";cursor:pointer}.navigation-down{position:absolute;top:60px;left:0px;width:100%;z-index: 9999;}
.navigation-down .nav-down-menu{width:100%;margin:0;background:#344157;position:absolute;top:0px}
.navigation-down .nav-down-menu .navigation-down-inner{margin:auto;width:1200px;position:relative;display: flex;justify-content: center;}
.navigation-down .nav-down-menu dl{float:left;margin:18px 80px 18px 0}
.navigation-down .menu-1 dl{margin:30px 30px 30px 0}
.navigation-down .menu-1 dt{width:210px;font:normal 16px "microsoft yahei";font-weight: bold; color:#fff;padding-bottom:10px;border-bottom:1px solid #61789e;margin-bottom:10px}
.navigation-down .menu-1 dd {margin-bottom: 2px;}
.navigation-down .menu-1 dd span{color:#fff;font:normal 14px/30px "microsoft yahei";cursor:pointer}
.navigation-down .menu-1 dd span:hover{color:#60aff6}
//.navigation-down .menu-1 dd a{color:#fff;font:normal 14px/30px "microsoft yahei"}
//.navigation-down .menu-1 dd a:hover{color:#60aff6}
//.navigation-down .menu-2 dd a,.navigation-down .menu-3 dd a{color:#fff;font:normal 16px "microsoft yahei"}</style>

jQuery插件引入

另外组件使用了jQuery,我是直接在index.html里引入jQuery.js ,版本是jQuery v1.10.2
在这里插入图片描述
以下就是全部内容,积累中分享,积累中学习!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/9771.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】15. 文件系统与软硬链接

1. 文件系统的引出 在之前的学习过程当中&#xff0c;我们知道当文件被打开后需要加载进内存&#xff0c;第一步为其创建struct file结构体描述其结构(操作系统需要管理被打开的文件&#xff1a;先描述再组织)&#xff0c;在通过进程当中的文件描述符指针指向文件描述符表&…

江苏某农商行稳健发展,软件安全推动金融服务新气象

​江苏某农商银行是全国最早成立的农商行之一。面对复杂严峻的内外部形势&#xff0c;该农商行在坚守服务“三农”与小微市场的同时&#xff0c;紧跟改革脚步&#xff0c;不断探索业务创新与数字化转型&#xff0c;实现经营稳健发展。 打造多维度数字化体系 驱动农商行创新发展…

2024浙大GMSCM提面第一场:全英文项目的生死选择题

本周末是今年浙大MBA非全英文项目GMSCM的第一场提前批面试&#xff0c;作为诸多方向中相对比较稳定的项目之一&#xff0c;GMSCM项目每年的提前批面试申请也都表现的比较稳健&#xff0c;而其目前主要的招生也是依托于提前批面试&#xff0c;根据这几年的情况&#xff0c;每年浙…

【数据可视化】SVG(一)

一、邂逅SVG和初体验 什么是SVG  SVG全称为&#xff08;Scalable Vector Graphics&#xff09;&#xff0c;即可缩放矢量图形。&#xff08;矢量定义&#xff1a;既有大小又有方向的量。在物理学中称作矢量&#xff0c;如一个带箭头线段&#xff1a;长度表示大小&#xff0…

利用Visual Studio 2022 导出目标dll API接口

利用Visual Studio 2022 导出目标dll API接口 操作路径: 指令如下: dumpbin /exports /out:C:\\Users\\Administrator\\Desktop\\PlantSimCore.txt C:\\Users\\Administrator\\Desktop\\PlantSimCore.dll dumpbin /exports /out:C:\\Users\\Administrator\\Desktop\\

spring使用01

① 导入 Spring 开发的基本包坐标 ② 编写 Dao 接口和实现类 ③ 创建 Spring 核心配置文件 ④ 在 Spring 配置文件中配置 UserDaoImpl ⑤ 使用 Spring 的 API 获得 Bean 实例 第一步&#xff1a;创建maven的web骨架 然后&#xff0c;导入 Spring 开发的基本包坐标 <depe…

冯·诺依曼架构哈佛架构(嵌入式学习)

冯诺依曼架构&哈佛架构 0. 前言1. 冯诺依曼架构&#xff08;von Neumann architecture&#xff09;关键组件限制&挑战 2. 哈佛架构关键组件限制&挑战 3. 冯诺依曼架构&哈佛架构的区别4. 知识扩展 0. 前言 冯诺依曼架构&#xff08;von Neumann architecture&a…

Gartner发布2023新兴技术雷达图,超级自动化安全、生成式AI是高影响力技术

在Gartner发布的“2023新兴技术影响力雷达图”中&#xff0c;围绕智能世界、生产力革命、透明度和隐私****以及关键使能技术四大主题&#xff0c;对24种最具颠覆和市场变革性的新兴趋势和技术进行了评估。 其中&#xff0c;边缘AI、边缘计算机视觉处于雷达图核心位置&#xff…

大数据环境下保护个人隐私

近日&#xff0c;某高校毕业生在校期间窃取学校内网数据&#xff0c;收集全校学生个人隐私信息的新闻引发了人们对互联网生活中个人信息安全问题的再度关注。在大数据时代&#xff0c;算法分发带来了隐私侵犯&#xff0c;在享受消费生活等便捷权利的同时&#xff0c;似乎又有不…

电气自动化入门——总览

目录 学习路线 电气设备组成部分 设备驱动类设备元件 常用电机类型 电机控制器类型​编辑 气缸类设备驱动 设备控制与数据采集监控部分 小型PLC 中大型PLC 数据采集与监控 HMI——人机交互界面 IPC——工控机 设备检测反馈元件——传感器 学习路线 电气设备组成部分 …

基于matlab使用高斯混合模型检测和计数视频序列中的汽车(附源码)

一、前言 此示例演示如何使用基于高斯混合模型 &#xff08;GMM&#xff09; 的前景检测器检测和计数视频序列中的汽车。 检测和计数汽车可用于分析交通模式。检测也是执行更复杂的任务&#xff08;例如按类型跟踪或分类车辆&#xff09;之前的第一步。 此示例演示如何使用前…

Spring MVC是什么?详解它的组件、请求流程及注解

作者&#xff1a;Insist-- 个人主页&#xff1a;insist--个人主页 作者会持续更新网络知识和python基础知识&#xff0c;期待你的关注 前言 本文将讲解Spring MVC是什么&#xff0c;它的优缺点与九大组件&#xff0c;以及它的请求流程与常用的注解。 目录 一、Spring MVC是什…