Avatar billede nicocarlos Nybegynder
04. juni 2008 - 13:48 Der er 4 kommentarer og
1 løsning

Nulstilling af variabel

Hej

Jeg har prøvet at lave en transparent popup og den virker, sådan set fint nok, med et link på en side. Men når der som på den nedenstående er 2-3 links:

<a href='java script:popUp(1);'>1</a>
<a href='java script:popUp(2);'>2</a>
<a href='java script:popUp(3);'>3</a>

Så bliver den ved med at hente den første variabel, der er blevet klikket på. Hvis man reloader siden hver gang man har brugt popup, så virker det, men det burde ikke være nødvendigt eller?

Dette er selve javascriptet:
<script type='text/javascript'>
                var firstTimer=true;
                function popUp(test)
                {
                    if(firstTimer==true)
                    {
                        document.body.innerHTML+="<div id='pop_overlay' style='position:fixed;top:0px;left:0px;width:100%;height:100%;background:#000000;filter:alpha(opacity=60);-moz-opacity:0.6;opacity:0.6;'></div><div id='pop_container' style='position:fixed;top:0px;left:0px;width:100%;height:100%;background:transparent;'><div id='pop_inner' style='display:block;width:520px;height:520px;margin:120px auto 0 auto;background:#ffffff;border:1px solid #999999;'><? echo $test; ?>"+test+"<a href='java script:popUp();'>Luk</a><div></div>";
                        firstTimer=false;
                    }
                    else
                    {
                        var check=document.getElementById('pop_overlay').style.display;
                        if(check=='none')
                        {
                            document.getElementById('pop_overlay').style.display='block';
                            document.getElementById('pop_container').style.display='block';
                        }
                        else
                        {
                            document.getElementById('pop_overlay').style.display='none';
                            document.getElementById('pop_container').style.display='none';
                        }
                    }
                }
</script>

På forhånd tak
Avatar billede w13 Novice
04. juni 2008 - 14:03 #1
<a href='java script:popUp(1)'>1</a>
<a href='java script:popUp(2)'>2</a>
<a href='java script:popUp(3)'>3</a>

<script type='text/javascript'>
var firstTimer=true;
function popUp(test){
    if(document.getElementById("pop_overlay")){
        document.getElementById("pop_overlay").parentNode.removeChild(document.getElementById("pop_overlay"));
        document.getElementById("pop_container").parentNode.removeChild(document.getElementById("pop_container"));
    }else{
        document.body.innerHTML+="<div id='pop_overlay' style='position:fixed;top:0px;left:0px;width:100%;height:100%;background:#000;filter:alpha(opacity=60);-moz-opacity:0.6;opacity:0.6;'></div><div id='pop_container' style='position:fixed;top:0px;left:0px;width:100%;height:100%;background:transparent;'><div id='pop_inner' style='display:block;width:520px;height:520px;margin:120px auto 0 auto;background:#ffffff;border:1px solid #999999;'><? echo $test; ?>"+test+"<a href='java script:popUp();'>Luk</a><div></div>";
    }
}
</script>
Avatar billede w13 Novice
04. juni 2008 - 14:04 #2
Pga. din "FirstTimer==True" blev den jo kun lavet første gang. Derfor ændrede den sig ikke, når man trykkede anden gang.
Avatar billede nicocarlos Nybegynder
04. juni 2008 - 14:08 #3
Takker
Avatar billede olebole Juniormester
05. juni 2008 - 15:37 #4
- men hvorfor bruge invalid kode fra WWW's tidlige barndom, når du kan bruge tidsvarende kode i stedet:

<script type="text/javascript">
var firstTimer=true;
scrolltop=0;
function popUp(test) {
    var css = document.getElementById("pop").style;
    if(css.display=="block"){
        window.scroll(0,scrolltop);
        css.display = "none";
    }else{
        var scrolltop=document.documentElement.scrollTop;
        document.documentElement.scrollTop=0;
        document.getElementById("pop_inner").firstChild.nodeValue = "<?php print $test ?>" + test;
        css.display = "block";
    }
}
</script>

<div id="pop" style="display:none">
    <div id="pop_overlay" style="position:absolute;top:0px;left:0px;width:100%;height:100%;background:#000;filter:alpha(opacity=60);-moz-opacity:0.6;opacity:0.6;"></div>
    <div id="pop_container" style="position:absolute;top:0px;left:0px;width:100%;height:100%;background:transparent;">
        <div id="pop_inner" style="width:520px;height:520px;margin:120px auto 0 auto;background:#ffffff;border:1px solid #999999;">&nbsp;<a href="java script:popUp();">Luk</a></div>
    </div>
</div>
Avatar billede olebole Juniormester
05. juni 2008 - 15:39 #5
Ups ... det var faktisk en kommentar til den opfølgende tråd her:
    http://www.eksperten.dk/spm/833847  ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Ingeniør til Satellitkommunikation

AL Sydbank A/S (tidligere Arbejdernes Landsbank)

Afdelingschef til GDPR & Tech Regulation