0

いくつかの要素の追加情報を表示するためにいくつかのポップアップが必要なページを作成しているので、DIV のタグを使用してポップアップ ウィンドウを作成し、表示をブロックまたはなしに変更するだけで、位置は絶対です。画像ボタンをクリックすると、そのボタンの横にくっつくはずです。私の主な問題は、div を表示すると、ページが自動的にページの先頭までスクロールし、ポップアップが間違った位置に表示されることです。 、どうすればこの動作を回避できますか?

これは私のjavascriptです。baseElentを使用して、画像ボタンの横にdivを配置します

function popup(windowName, baseElement, orientation) {
    var ventana = document.getElementById(windowName);
    var windowOrigStyle = ventana.style.display;
    if (lastOpenedWindow != null) 
        lastOpenedWindow.style.display = "none";

    if (windowOrigStyle == 'none') {
        var base = document.getElementById(baseElement);
        var basePosition = base.getBoundingClientRect()
        if (orientation == 'left') {
            var width = ventana.currentStyle.width.replace(/px/g, "");
            var popupTop = basePosition.top;
            var popupLeft = basePosition.left - width - 2;
            popupTop -= 10;
        }
        else {
            var popupTop = basePosition.top;
            var popupLeft = basePosition.right;
            popupTop -= 10;
            popupLeft += 3;
        }
        ventana.style.left = popupLeft + 'px';
        ventana.style.top = popupTop + 'px';
        ventana.style.display = "block";
        lastOpenedWindow = ventana;
    }
    else
        ventana.style.display = "none";
}
4

2 に答える 2

0

絶対位置の代わりに固定位置を使用します。

div {
position: fixed;
}
于 2013-09-06T19:05:41.143 に答える