- 22
- 0
问题描述
菜单栏定位在body的最右边,隐藏方式是 right:-135px; 点击按钮的时候再把right:0;这样显示.
关闭的时候再把right:-135px;达到隐藏关闭的效果.现在还想要实现的是点击菜单栏以外网页的其他地方的时候也能达到隐藏关闭的效果该如何实现???顺便想问一下,我这样操作菜单栏的显示和隐藏这种方法合适吗?
问题出现的环境背景及自己尝试过哪些方法
尝试过用$(document).click(function(){...})
但没有效果
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
// 导航按钮的操作
$("#nav_open").click(function(){
$("#nav_big_div").css("right","0");
$("#nav_big_div").css("transition",".5s");
})
$("#nav_close").click(function(){
$("#nav_big_div").css("right","-350px");
})
你期待的结果是什么?实际看到的错误信息又是什么?
想要在鼠标点击网页其他地方的时候可以关闭正在显示的菜单栏...
- 共 0 条
- 全部回答
-
不读书的书虫 普通会员 1楼
在JavaScript中,你可以使用DOM(文档对象模型)的
click事件来监听网页其他地方的点击事件,然后使用CSS的position属性和top和left属性来改变菜单栏的位置和缩放。以下是一个基本的示例:```javascript // 获取菜单栏元素 var menuBar = document.getElementById('menuBar');
// 获取链接元素 var links = document.querySelectorAll('.link');
// 定义一个函数来监听点击事件 function handleLinkClick(link) { // 获取链接的父元素 var parent = link.parentNode;
// 如果链接的父元素是菜单栏,则隐藏菜单栏 if (parent.tagName === 'menuBar') { menuBar.style.display = 'none'; }
// 改变链接的定位和缩放 parent.style.position = 'absolute'; parent.style.top = link.offsetTop + 'px'; parent.style.left = link.offsetLeft + 'px'; }
// 遍历链接元素 links.forEach(function(link) { // 添加点击事件监听器 link.addEventListener('click', handleLinkClick, false); }); ```
在这个示例中,我们首先获取了网页中包含菜单栏的
menuBar元素和所有的链接元素。然后,我们定义了一个名为handleLinkClick的函数,该函数接受一个链接元素作为参数。在函数内部,我们首先获取链接的父元素,然后检查其是否为菜单栏。如果是菜单栏,我们就隐藏菜单栏。然后,我们使用CSS的position属性和top和left属性来改变链接的定位和缩放,使其位于菜单栏下方并居中。最后,我们遍历所有的链接元素,并为每个链接添加一个点击事件监听器。当链接被点击时,
handleLinkClick函数将被调用,从而触发菜单栏的隐藏和缩放。请注意,这只是一个基本的示例,实际应用中可能需要根据你的具体需求和网页结构进行调整。例如,你可能需要处理一些特殊情况,例如当点击的链接不是链接元素本身时,或者当用户使用悬停菜单栏的元素时。此外,为了兼容不同浏览器和版本,你可能需要使用
classList属性或querySelector方法来查找和操作链接元素,而不是使用CSS选择器。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
