创建javascript弹出窗口的最优雅方法
most elegant way to create a javascript popup?
是否有更优雅的方法来创建JavaScript弹出窗口?
<head>
<script>
function myPopup() { window.open( "http://www.google.com", "myWindow", "status=1, height=300, width=300, resizable=0" )
}
</script>
</head>
<body>
<input type="button" onClick="myPopup()" value="popup">
</body>
<head>
<script>
function myPopup(){
window.open("http://www.google.com", "myWindow",
"status=1,
height=300,
width=300,
resizable=0"
);
}
</script>
</head>
<body>
<input type="button" onclick="myPopup()" value="popup" />
</body>
最简单的纯html/css。
使用details
元素切换功能和选择器details[open]
:
details > p {
padding: 0.5rem;
background: lightcoral;
margin: 0;
display: flex;
flex-direction: column;
}
details[open] {
position: fixed;
width: 33%;
transform: translate(calc(50vw - 50%), calc(50vh - 50%));
outline: 10px #000000d4 solid;
transition: all 2s linear
}
details[open] summary::after {
content: '❌';
float: right;
}
<details>
<summary>Project</summary>
<p>Save project<button>Save to file</button></p>
<p>Publish<button>POST</button></p>
<p>Update<button>Update</button></p>
</details>
<details>
<summary>Another Popup</summary>
<p>Powered by html<input></p>
</details>
取决于您想要实现的目标。。。你可以看看模态对话的表格。
jQuery就是这样做的http://jqueryui.com/demos/dialog/例如。
这就是我打开模式对话框的方式
function showModalDialog() {
window.showModalDialog('HizmetSuresiUzatma.aspx',
'',
'resizable: no;
scroll: No;
dialogWidth:640px;
dialogHeight:350px');
}
在一个名为HizmetListesi.aspx
的页面上点击一个按钮后。我在aspx文件上写下JS代码,然后用调用它
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "hizmetYenileTahsilat", "showModalDialog()", true);
在aspx.cs文件上。
一个良好的工作代码,没有崩溃
简单且使此代码更好的是,您可以在JavaScript文件中单独使用它,并将其简化为多个具有相同弹出大小的文件,即使弹出窗口上的页面不同。
Javascript
// Popup window code
function MyPopUp(url) {
popupWindow = window.open(
url,'popUpWindow','height=454,width=580,left=0,top=200,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes')
}
HTML
<a href="JavaScript:MyPopUp('MyDirectory/Page.html');" title="My PopUp For You">My PopUp</a>
注意:您也可以将其用作主体中的onload,例如<body onload="JavaScript:MyPopUp('MyDirectory/Page.html');">
,它也适用于onmouseover
和其他。。。尽管我不建议这样做,除非你想激怒访问你页面的客户。
使用Dialog的现代方式,Dialog是一个新的本地HTML元素,它简化了对话框提示(如弹出窗口和模式(的创建。内置浏览器功能,如焦点管理、标签跟踪和保持堆叠上下文。
<dialog id="dialog">
<p>Hi, I'm a dialog.</p>
<button onclick="dialog.close()">OK</button>
</dialog>
<button onclick="dialog.showModal()">Show the dialog</button>
相关文章:
- 基于窗口宽度jquery的函数的替代方法是什么
- 创建一个方法,通过一个窗口进行迭代并获取Titanium中的所有控件
- 有没有一种方法可以检测何时触发了溢出-y:auto,并因此创建一个弹出窗口
- 在上下文菜单项单击上显示侧边栏/弹出窗口的最佳方法是什么
- HackReactor,编码窗口现在可以访问一个名为“”的对象;招生;使用名为“;showApp”;.调用此方法时不带任
- 如何在谷歌地图中设置多个信息窗口,但使用这种特定的JavaScript方法
- 有没有更好的方法来处理窗口属性&React/Redux中的子组件
- Javascript;html:有没有一种方法可以找到一个顶级的命名窗口(或选项卡)并将其带到前台,而不是将url加载到
- 有没有一种方法可以强制浏览器's窗口对象以重新评估鼠标所在的位置
- 检查窗口是否为弹出窗口的另一种方法
- j查询弹出窗口 在发布方法中提交表单
- 来自键盘的JavaScript输入没有“prompt()”方法弹出窗口(如Pascal Readln或GWiBasic输
- 在Javascript中,在IE8中,附加到事件中的Object方法将“窗口对象”而不是对象本身保留在“this”
- 是否可以使用 JQuery 或其他方法在两个浏览器窗口之间拖放一些内容
- Ext.Window 在 extjs 3.4 中显示当前打开窗口后面的方法打开窗口
- 除了屏幕之外,CSS 值是否有任何方法响应窗口宽度@media
- 使用 JQuery 创建父窗口对象的正确方法是什么?
- 在窗口中使用“事件处理程序”是否是确定窗口是否支持给定事件处理程序的安全方法
- 为什么通过 $.ajax() 方法调用时不显示 jQuery colorbox 弹出窗口
- 如何在 JQGRID 新项目弹出窗口中应用 OnKeyUp 方法