Html 如何在单击div时在electron js中打开菜单
我做了一个自定义标题栏应用程序,然后我给了它一个Html 如何在单击div时在electron js中打开菜单,html,css,electron,Html,Css,Electron,我做了一个自定义标题栏应用程序,然后我给了它一个文件菜单 现在我想点击这个菜单打开一个菜单。我想要一个弹出窗口,但是弹出窗口不应该是菜单的标准窗口弹出窗口,我也想定制它……但是如果需要花费太多时间,创建一个新窗口可能会变得非常乏味 很可能我想实例化一个部分,但我不知道如何做 当前形势 我有一个窗口,有一个容器div,有一个按钮div,有3个最小化、最大化、关闭的窗口 #按钮还有两个div.menu1和.menu2。我希望这些菜单的行为与windows中的普通菜单类似,如文件和编辑菜单 &
文件菜单
现在我想点击这个菜单打开一个菜单。我想要一个弹出窗口,但是弹出窗口不应该是菜单的标准窗口弹出窗口,我也想定制它……但是如果需要花费太多时间,创建一个新窗口可能会变得非常乏味
很可能我想实例化一个部分,但我不知道如何做
当前形势
我有一个窗口,有一个容器div,有一个按钮div,有3个最小化、最大化、关闭的窗口
#按钮还有两个div.menu1和.menu2。我希望这些菜单的行为与windows中的普通菜单类似,如文件和编辑菜单
<div id="container">
<nav>
<div id="buttons">
<div id="file">
<span class = "menu1">file</span>
</div>
<div id="about_us">
<span class = "menu2">about..us</span>
</div>
<div id="minimize" onclick="min()">
<span>-</span>
</div>
<div id="maximize" onclick="max()">
<span>+</span>
</div>
<div id="close" onclick="uff()">
<span>×</span>
</div>
</div>
</nav>
</div>
文件
关于我们
-
+
&时代;
结果是
所有菜单和按钮都是可点击的,并具有悬停颜色在这里,您需要执行以下操作:
用html和css创建弹出窗口。使用位置:绝对位置;和z-index,使其覆盖应用程序的其余部分
然后使用css类隐藏弹出窗口,例如。隐藏将弹出窗口设置为显示:无代码>
现在需要一小段javascript来切换该.hide类。类似这样的函数:consttogglepopup=()=>document.querySelector('.popup').classList.toggle('hide')
通过单击其中一个元素触发togglePopup脚本:
常量触发器=document.querySelector(“#idOrClassOfTriggerElement”)
trigger.addEventListener('click',()=>togglePopup()
使用相同类型的技术添加关闭弹出窗口的方法–将eventlistener添加到触发器元素(例如X图标)并调用与#3中相同的切换函数
希望这是你想要实现的
编辑:弹出式覆盖的示例代码:
const popup=document.querySelector(“.popup”)
const closeBtn=document.querySelector(“.popup close”)
const openBtn=document.querySelector('.open')
const body=document.querySelector('body')
常量showPopup=()=>{
popup.classList.add('fade-in')
body.classList.add('scroll-stop')
}
常量hidePopup=()=>{
popup.classList.remove('fade-in')
popup.classList.add('fade-out')
body.classList.remove('scroll-stop')
设置超时(()=>{
popup.classList.remove('fade-out')
}, 500)
body.focus();
}
openBtn.addEventListener('单击',显示弹出窗口)
closeBtn.addEventListener('click',hidePopup)
.popup{
位置:固定;
宽度:100%;
身高:100%;
排名:0;
左:0;
右:0;
底部:0;
背景:#fefefe;
z指数:9;
不透明度:0;
指针事件:无;
溢出:滚动;
}
.弹出式内部{
宽度:100%;
位置:相对位置;
填充:6%16%0;
}
.弹出关闭{
位置:相对位置;
z指数:10;
文本对齐:居中;
颜色:#aaa;
字号:4rem;
光标:指针;
位置:固定;
右:3%;
最高:3%;
}
.popup close::before{
内容:“\00d7”;
}
.弹出关闭:悬停::之前{
颜色:#000;
过渡期:0.6秒,全部放松;
}
.打开{
文本对齐:居中;
光标:指针;
背景:透明;
填充:1rem2rem;
边框:2倍实心;
边界半径:6px;
颜色:#000;
字体大小:粗体;
位置:绝对位置;
最高:25%;
左:44%;
}
.打开:悬停{
背景:#FFFFFF 18;
}
.淡入{
不透明度:1;
指针事件:未设置;
过渡期:0.3秒全部缓解;
}
.淡出{
不透明度:0;
指针事件:无;
过渡期:0.3秒全部缓解;
}
.背景{
高度:100vh;
宽度:100vw;
背景:橄榄;
保证金:0;
填充:0;
}
打开弹出窗口
这是一个弹出标题
弹出内容
你好,Shaurya,你能告诉我们你尝试了什么吗?展示一些代码,我们可以更好地理解你想要实现的目标。@anatolhiman ya将编辑这个问题,这很有帮助,但有一个疑问,我如何在html和css中创建弹出窗口
,它应该是一个div吗?还是其他更好的东西?因此,请继续来自你的坚定(因为事实证明我在创建任何严肃项目方面没有那么丰富的经验)弹出窗口将一直存在,但只在单击文件div时显示?是的,这是正确的。除非您在React、Vue或其他有助于延迟加载组件的前端框架中创建页面,否则您需要在从服务器发送到客户端(浏览器)的代码中包含所有内容这样它就可以随时显示,因为当你想显示弹出窗口时,你不能重新加载页面并从服务器请求更多的html。这意味着html应该包含一开始的弹出窗口,但用CSS隐藏在视图中。你用div创建它是的,我可以在我的答案中添加一些示例代码。哦…这是基本的,但我不是那次经历,我下次会做得更好,顺便说一句,我最终实现了同样的东西,但有了更基本的功能