webForumDet fria alternativet

positionera div pop-up

0 svar · 327 visningar · startad av sharkface

sharkfaceMedlem sedan okt. 200040 inlägg
#1

Hej

Har ett antal länkar på sidan, när jag klickar på någon av dem vill jag att en div pop-up ska dyka upp i anslutning till den länk som klicket skedde på.

Jag vill alltså återanvända samma div för alla länkar, inte ha en egen div liggandes i koden vid respektive länk.

Min kod funkar utmärkt i IE, men i FF hamnar diven uppe till vänster (postion.left och position.top har ingen effekt).

Hur ska man göra för att dynamiskt visa en div på en viss plats i FF?


...

function JSShowDiv(parentCtrlId, panelNewId)
{
    JSPositionPanel(parentCtrlId, panelNewId);        
    document.getElementById(panelNewId).style.display = "block";
}

function JSPositionPanel(parentCtrlId, panelNewId)
{
    var parentCtrl = document.getElementById(parentCtrlId);
    var panelNew = document.getElementById(panelNewId);
    var posLeft    = posTop = 0;
    
    if (parentCtrl.offsetParent) 
    {
        do 
        {
            posLeft += parentCtrl.offsetLeft;
            posTop  += parentCtrl.offsetTop;
        } 
        while (parentCtrl = parentCtrl.offsetParent);
    }
    panelNew.style.left = posLeft + 'px';
    panelNew.style.top  = posTop + 20 + 'px';
}

...

<div id='diven' style='position:absolute; z-index:99; display:none;'>div som ska visas vid länken, ovanpå annat innehåll</a>

...

<a id='lanken' href='#' onclick="JSShowDiv('lanken', 'diven');">länken</a>

...
135 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)