• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > vue.js怎么实现二级下拉悬浮菜单

vue.js怎么实现二级下拉悬浮菜单

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了vue.js菜单,二级下拉菜单,悬浮菜单等相关知识,希望对您有所帮助

vue.js实现二级下拉悬浮菜单的方法:1、完成鼠标悬浮出现新的div的效果;2、实现鼠标经过个人头像到个人信息的div时个人信息的div不消失;3、添加中间变量,在cl_person_info()方法中利用这个变量进行判断即可。


vue.js怎么实现二级下拉悬浮菜单


在实际的开发项目中我们可能需要实现类似二级菜单的功能,如果我们想偷个懒,那么我们可以直接使用现有的Element UI框架。但是这种方法有个很大的缺点,我们只有明白了各个代码的意思才能够修改代码以完成想要的动态效果,所以我们不推荐使用这种方法。

可能有的小伙伴就会说了不是还有jQuery么?没错jQuery也可以实现,但是使用jQuery实现的话一定需要直接对DOM进行操作,代码比较复杂。

那么我们到底该使用哪种方式呢?为什么不去使用v-bind呢?说干就干,一起来看看吧!


首先完成鼠标悬浮出现新的div的效果

html部分代码如下:

<template>    <div class="person_img" >        <img id="person_img" :src="img_url"  @mouseover="person_info()" @mouseout="cl_person_info()"/>    </div>         <div v-show="person_con" class="hidden_div" >        <div>{{userid}}</div>        <div>个人设置</div>        <div>账户中心</div>        <div>退出登录</div>    </div></template> //@mouseover、@mouseout和 v-show="person_con" 用来控制悬浮出现和消失的效果

js部分代码如下所示:

<script>name:'',    data(){        return{            placeholder:'搜索课程',            token:'',//判断是否登录的参数,在加载主页时直接判断            person_con:false,            userid:'',        }    },    methods:{        person_info(){            this.person_con = true;        },                     cl_person_info(){             this.person_con = false;        },         }</script>

很简单,这样就实现了鼠标经过个人头像(person_img)时,下面会出现个人信息person_con。

下面是关键,怎么实现鼠标经过个人头像到个人信息的div时个人信息的div不消失,继而进行更多的业务操作呢?

自然的想法就是给再给person_con加上@mouseover和@mouseout。

接着实现鼠标经过个人头像到个人信息的div时个人信息的div不消失

html部分代码如下:

<template>    <div class="person_img" >        <img id="person_img" :src="img_url"  @mouseover="person_info()" @mouseout="cl_person_info()"/>    </div>          //新增@mouseover和@mouseout    <div v-show="person_con" class="hidden_div" @mouseover="person_infoContinue()" @mouseout="cl_person_infoContinue()" >        <div>{{userid}}</div>        <div>个人设置</div>        <div>账户中心</div>        <div>退出登录</div>    </div></template>

js部分代码如下:

<script>name:'',    data(){        return{            placeholder:'搜索课程',            token:'',//判断是否登录的参数,在加载主页时直接判断            person_con:false,            userid:'',        }    },         methods:{        person_info(){            this.person_con = true;        },                          cl_person_info(){             this.person_con = false;        },                 person_infoContinue(){            this.person_con = true;        },                 cl_person_infoContinue(){            this.person_con = false;        },    }</script>

到此,还不能实现完整的功能,因为现在代码还不完善。为啥?因为在鼠标移出个人头像时,person_con又变为false了,这就导致person_infoContinue()和 cl_person_infoContinue()其实是不起效果的。那又该怎么办呢?自然的想法就是再添加一个中间变量,在cl_person_info()方法中,我利用这个变量进行判断。

js部分代码如下:

<script>name:'',    data(){        return{            placeholder:'搜索课程',            token:'',//判断是否登录的参数,在加载主页时直接判断            person_con:false,            isperson_infoContinue:false,//增加            userid:'',        }    },    methods:{        //不变        person_info(){            this.person_con = true;        },        //增加判断         cl_person_info(){                          if(this.isperson_infoContinue = true){                this.person_con = true;            }else{                this.person_con = false;            }        },        //鼠标进入到新的div时让中间变量为true        person_infoContinue(){            this.person_con = true;            this.isperson_infoContinue = true;        },                 cl_person_infoContinue(){            this.isperson_infoContinue = false;            this.person_con = false;        },    }</script>

到此,就利用简单的逻辑判断true和false完成了悬浮二级菜单的功能。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • vue.js怎么实现二级下拉悬浮菜单
  • vue.js如何实现可拖拽菜单

相关文章

  • 2022-04-29微信小程序反编译提取源代码方法
  • 2022-04-29如何解决vue中layui报错问题
  • 2022-04-29Photoshop制作漂亮火焰翅膀视频教程
  • 2022-04-29宝塔面板"Service Unavailable"503的问题怎么解决
  • 2022-04-29怎么提高百度搜索引擎关键词的排名
  • 2022-04-29VUE动态添加的路由页面刷新时失效的原因及解决方案
  • 2022-04-29Photoshop设计立体质感的标签式按钮
  • 2022-04-29PHP中如何理解foreach遍历二维数组
  • 2022-04-29织梦熊掌号api自动提交代码
  • 2022-04-29解决TP5.1出现A non well formed numeric value encountered的问题

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 详细讲解Java运算符(总结分享)
    • dedecms网站列表调用文章或图集的第一张图片原图
    • 手把手教你基于uniapp框架实现动态路由、动态tabbar
    • 长尾关键词挖掘的技巧,你知道吗?
    • PHP在图片中用 imagettftext() 添加水印(图文详解)
    • 你知道Thinkphp5.1让验证码在Electron-vue中怎么用?
    • ThinkPHP5验证码图片如何生成
    • PHP实现长轮询消息实时推送功能代码实例讲解
    • 分享Laravel模型使用的2个小技巧
    • jQuery checkbox不可选怎么实现

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有