Avatar billede kasseper Nybegynder
04. november 2005 - 11:44 Der er 10 kommentarer og
1 løsning

Blockering af click og andet godt i en div

Hej

Jeg vil gerne lave en "loading side", der implementeres ved at sætte opacity og et alpha filter til henholdsvis 0.50 og 50, når der klikkes på en knap eller et link.
For brugeren ser det ud til at der kommer et lag ned over skærmen og det er ok, men jeg vil gerne sikre mig at brugeren ikke klikker på knappen igen eller på linket., så kan jeg cancelBubbel på eventet på div'en eller noget i den stil men med et javascript.....??????
Avatar billede olebole Juniormester
04. november 2005 - 12:25 #1
<ole>

Ligger knappen bag laget, kan du vel ikke klikke på den  :)

/mvh
</bole>
Avatar billede kasseper Nybegynder
04. november 2005 - 12:48 #2
Den ser ud til at ligge bag laget, men mine knapper og links ligger i en div, som jeg så sætter opacity og alpha på, når der klikkes på et link eller en knap.
Men det forhindre ikke at man stadig kan klikke på en knap eller et link.
Måske er løsningen at lave en anden div, der ligger ovenpå den anden som jeg så sætte opacity på ???
Avatar billede olebole Juniormester
04. november 2005 - 12:59 #3
Ja  :)
Avatar billede kasseper Nybegynder
04. november 2005 - 13:03 #4
Skal denne anden div, så positioneres absolute, eller er der en anden snedig genvej, til at definere en div der er præcis samme størrelse og placering som en anden relativt defineret div.
Avatar billede kasseper Nybegynder
04. november 2005 - 13:05 #5
Og er vi i den forbindelse enige om at en evt. <select> vil gå igennem dette "lag" ?
Avatar billede milandt Nybegynder
04. november 2005 - 13:47 #6
da du alligevel skal bruge javascript for at aktivere dette lag, så var det måske en meget god ide også at skjule select's også. og ja, det ekstra lag skal vel placeres absolut, med det højeste z-index (hvis du har andre absolut placerede elementer) og så ellers fylde 100% af sidens højde og bredde.
Avatar billede olebole Juniormester
04. november 2005 - 14:09 #7
Ja, absolut positioneret. F.eks:

<script type="text/JavaScript">
function showLyr() {
    var aSel, hLyr = document.getElementById("gnu");
    aSel = hLyr.parentNode.getElementsByTagName("select");
    for (var i=0; i<aSel.length; i++) aSel[i].style.visibility = "hidden";
    hLyr.style.display = "block";
}
</script>

<div style="position:relative;width:300px;height:200px;border:1px solid red">
    <div id="gnu" style="position:absolute;width:300px;height:200px;z-index:100;background:green;filter:Alpha(opacity:50);-moz-opacity:0.5;opacity:0.5;display:none">&nbsp;</div>
   
    <select>
        <option>jkhkjhkjhkjh</option>
        <option>jkhkjhkjhkjh</option>
        <option>jkhkjhkjhkjh</option>
    </select>
   
    <button onclick="alert('Knap og nap');showLyr()">TEST</button>
</div>
Avatar billede olebole Juniormester
04. november 2005 - 14:10 #8
- alert'en er bare for at vise, du ikke kan klikke på knappen med laget henover  :)
Avatar billede olebole Juniormester
04. november 2005 - 14:17 #9
Du kan jo også bare den nemme:
    <button onclick="alert('Knap og nap');this.innerHTML='NOPE';this.disabled=true">TEST</button>

Så kan du selv bestemme, om du både vil disable og skifte tekst - eller kun disable knappen  :)
Avatar billede kasseper Nybegynder
11. november 2005 - 12:19 #10
Og det virker, jo som det skal, tak og smid et svar !
Avatar billede olebole Juniormester
11. november 2005 - 13:31 #11
Selvtak  :)
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