0

これが私の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スニペットはありますか?

4

2 に答える 2

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

例。

于 2012-12-18T00:08:30.990 に答える
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;
}
于 2012-12-18T00:06:05.350 に答える