2012-12-17 264 views
0

這是我的JavaScript代碼。居中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代碼,我可以這樣做折騰嗎?

+0

爲什麼會這樣下來投了反對票。他在問一個問題有一個答案。 – Kieran

回答

0

試試這個:

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; 
} 
+0

我得到了彈出中心,謝謝!但是,我無法從覆蓋代碼獲得任何迴應。我懷疑自己在做一些愚蠢的事情,比如把代碼放在錯誤的地方,或者在我的CSS文檔上輸入錯誤的名字。以下是我所做的: 將第一個代碼複製並粘貼到索引頁的

0

你可以試試這個

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'); 

Example.

+0

謝謝!完美的工作! –