Avatar billede uffed Nybegynder
02. november 2000 - 17:41 Der er 19 kommentarer og
1 løsning

Layer skal lave \"popup\" funktion ? Men hvordan ?

Jeg vil lave en tabel hvor man kan se en masse specs om ting og sager...
Når man så fører musen hen over en tekst(i dette tilfælde \"test\") i en celle på en tabel skal et nyt layer \"poppe\" op, men hvordan .. jeg har prøvet flg....



<SCRIPT LANGUAGE=\"javascript\">
function showlayer(layername) {
document.all[layername].style.visibility = \"visible\"; }
</SCRIPT>

<span name=\"layer1\" style=\"position:absolute;top:20;left:50;height:300;width:200;border-style:solid;border-width:1;border-color:black;background:black;VISIBILITY: hidden;\">tekst i mit nye pop-up layer </span>\";


<TABLE>
<TR>
<td onMouseover=\"showlayer(\'layer1\');\">test</td>
</tr>
</TABLE>




-----------------
Men dette virker ikke....
den siger:    Style er ikke et objekt... ?? Jeg fatter intet af dette.....
Hvad skal jeg ændre/gøre for at få lortet til at virke... ??
Avatar billede keysersoze Ekspert
02. november 2000 - 17:44 #1
gå ind på www.script.dk - der har de så vidt jeg husker et eksempel åp netop dette...
Avatar billede nlunn Nybegynder
02. november 2000 - 18:13 #2
du skal angive id=\"layer1\" i dit span-tag d.v.s.
<span id=\"layer1\" name=\"layer1\"......
Avatar billede mpj Nybegynder
02. november 2000 - 19:35 #3
<span name=\"layer1\" id=\"layer1\" style=\"position:absolute;top:20;left:50;height:300;width:200;border-style:solid;border-width:1;border-color:black;background:black;VISIBILITY: hidden;\">tekst i mit nye pop-up layer </span>

Den istedet!
Avatar billede mpj Nybegynder
02. november 2000 - 19:36 #4
Det du har skrevet der virker kun i IE...
Vidste du det?
Jeg kan godt prøve at lave en X-browser, hvis du er intereseret?
Avatar billede uffed Nybegynder
02. november 2000 - 20:43 #5
Ja - det er jeg meget intereseret i ... Hvorfor virker den ikke i Netscape ?
Avatar billede uffed Nybegynder
02. november 2000 - 20:45 #6
skal ID=\"layer1\" og NAME=\"layer1\" være det samme ??
Avatar billede mpj Nybegynder
02. november 2000 - 21:34 #7
Prøv bare at slette det der name...
Hvis du alligevel ikke bruger det til noget...

Prøv:
ns = (document.layers)? true:false
ie = (document.all)? true:false

function show(id) {
    if (ns) document.[id].visibility = \"show\"
    else if (ie) [id].style.visibility = \"visible\"
}

function hide(id) {
    if (ns) document.[id].visibility = \"hide\"    else if (ie) [id].style.visibility = \"hidden\"
}


<DIV ID=\"layer1\" style=\"position:absolute;top:20;left:50;height:300;width:200;border-style:solid;border-width:1;border-color:black;background:black;VISIBILITY: hidden;\">tekst i mit nye pop-up layer </DIV>

<TABLE>
<TR>
<td onMouseover=\"show(\'layer1\');\">test</td>
</tr>
</TABLE>



Prøv det...
Det er ikke testet...
Avatar billede mpj Nybegynder
02. november 2000 - 21:36 #8
Brug denne her...:

function show(id) {
    if (ns) document.layers[id].visibility = \"show\"
    else if (ie) document.all[id].style.visibility = \"visible\"
}

function hide(id) {
    if (ns) document.layers[id].visibility = \"hide\"
    else if (ie) document.all[id].style.visibility = \"hidden\"
}


Den er bedre....
Men brug det andet kode jeg gav dig...
Avatar billede mpj Nybegynder
02. november 2000 - 21:42 #9
Ja... i må altså undskylde at jeg bombarderer jeres mailboks, men denne her virker i hvertflad... (Jeg synes der gik noget galt med de andre!)



<HTML>
<HEAD>
    <TITLE>[Ingen titel]</TITLE>
<SCRIPT LANGUAGE=\"javascript\">

ns = (document.layers)? true:false
ie = (document.all)? true:false

function show(id) {
    if (ns) document.layers[id].visibility = \"show\"
    else if (ie) document.all[id].style.visibility = \"visible\"
}

function hide(id) {
    if (ns) document.layers[id].visibility = \"hide\"
    else if (ie) document.all[id].style.visibility = \"hidden\"
}


</SCRIPT>
<META NAME=\"Generator\" CONTENT=\"Stone\'s WebWriter 2\">
</HEAD>
<BODY>
<DIV ID=\"layer1\" style=\"position:absolute;top:20;left:50;height:300;width:200;border-style:solid;border-width:1;border-color:black;background:black;VISIBILITY: hidden;\">tekst i mit nye pop-up layer </DIV>
<TABLE>
<TR>
<td onMouseover=\"show(\'layer1\');\">test</td>
</tr>
</TABLE>


</BODY>
</HTML>


Værsågod...
Det er ingen sag at tilføje en onmouseout hvis du vil det? Men det kan du jo se af koden:
hide(\'layer1\')

Avatar billede nlunn Nybegynder
02. november 2000 - 21:50 #10
jaja - det hele er fint nok, hvis man kun arbejder med explorer - hvis man efterprøver det i Netscape finder man ud af at det ikke helt virker efter hensigten. Og hvis man alligevel kun laver kode til explorer, hvorfor så ikke gøre det med et ganske simpelt id.
Avatar billede mpj Nybegynder
02. november 2000 - 22:26 #11
virker det sidste jeg har postet ikke i ns?
Jeg kan ikke teste det, da jeg formaterede mit drev, og er ved at hente ns nu!
Men det skulle da gerne virke i NS!
Avatar billede nlunn Nybegynder
02. november 2000 - 22:33 #12
nope - du skal bruge layers for at bruge den funktionalitet som du har beskrevet
Avatar billede mpj Nybegynder
02. november 2000 - 22:37 #13
Hvad mener du med at jeg skal bruge layers??
Avatar billede mpj Nybegynder
02. november 2000 - 22:37 #14
Hvad har jeg da beskrevet?
Mener du min kode?
Avatar billede mpj Nybegynder
02. november 2000 - 22:40 #15
Jeg bruger da layers!
Min <div> kode
Avatar billede nlunn Nybegynder
02. november 2000 - 22:52 #16
<layer>....
Avatar billede mpj Nybegynder
02. november 2000 - 23:18 #17
Er du sikker?
For så har jeg da misforstået en stor del...!
Avatar billede nlunn Nybegynder
03. november 2000 - 08:57 #18
Jeg ved ikke hvad Stones WebWriter udsætter dig for, men jeg har efterprøvet det du har lavet, og det virker ikke i N.
Du ikke fange events på <TD> det kan gøres vha følgende:

<td><layer onMouseover=\"alert( \'hej\' );\"><div onMouseover=\"alert( \'hej\' );\">test</div></layer></td>

....... IE læser ikke det der er i <layer>-tagget da den ikke kan forstå det og N kan ikke fange events på <td>. Så det er en simpel workaround.
Avatar billede uffed Nybegynder
03. november 2000 - 12:35 #19
->nlunn 
øhhh det virker altså helle ikke .... Den med <div> og <layer>.. virker godt nok i IE, men ikke i NS .. Sorry...  er det mig der er galt på den ?
Avatar billede uffed Nybegynder
06. november 2000 - 11:09 #20
-> nlunn  og mpj  ...  i får sgu begge 50 point ... ok ???
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