[英]centering javascript pop-up window
这是我的JavaScript代码。
<SCRIPT TYPE="text/javascript">
<!--
function popup(mylink, windowname) {
if (! window.focus) return true;
var href;
if (typeof mylink == 'string')
href=mylink;
else
href = mylink.href;
window.open(href, windowname, 'width=500,height=500,scrollbars=yes');
return false;
}
//-->
</SCRIPT>
仅使用上面的代码,弹出窗口完全按照我的需要显示,但它似乎紧紧地塞在左上角。 我希望弹出窗口居中显示。
我已经在此网站上尝试了一些建议(例如:
var left = screen.width / 2 - w / 2;
var top = screen.height / 2 - h / 2;
但是将其他任何内容插入我已经拥有的代码中,都会使弹出窗口在同一浏览器的新标签页中打开(忽略弹出功能)。
那就是我来这里要解决的问题。
另外,我想淡化背景以将读者的焦点吸引到弹出窗口。 有没有我可以扔的javascript片段?
尝试这个:
function popupW(mylink, windowname) {
var href;
var w = h = 500;
var left = (screen.width/2) - (w/2);
var top = (screen.height/2) - (h/2);
if(!window.focus) {
return true;
}
if(typeof mylink == 'string') {
href = mylink;
} else {
href = mylink.href;
}
window.open(href, windowname, 'width='+w+', height='+h+', scrollbars=yes, top='+top+', left='+left);
return false;
}
popupW('http://google.com', 'google');
可以通过创建叠加来完成背景窗口的渐变。
var overlay = document.createElement('div');
overlay.setAttribute('id', 'overlay');
document.body.appendChild(overlay);
具有以下CSS样式:
#overlay {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: rgba(0,0,0,0.5);
z-index: 99999;
}
你可以试试这个
function popup(mylink, windowname)
{
if (typeof(mylink) !== 'string') mylink=mylink.href;
var l=(screen.width-500)/2, t=(screen.height-500)/2;
window.open(mylink, windowname, 'width=500,height=500,scrollbars=1,left='+l+',top='+t);
return false;
}
popup('http://heera.it', 'hit');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.