Avatar billede nheilbuth Nybegynder
29. juni 2006 - 11:34 Der er 19 kommentarer og
1 løsning

Lag skjules ikke rigtigt i Opera

Jeg har en række skjulte lag (DIV tag), som indeholder en række links. Alt virker fint i IE, Firefox og Safari, men i Opera har jeg det problem at jeg kan klikke på links i et lag der er skjult, desuden laver den også onMouseOver på lag der er skjult.

Dvs. at hvis jeg har en undermenu til en undermenu, så dukker den sidste undermenu pludselig op midt på skærmen når man kører musen henover, uden at gå igennem de andre undermenuer.

Nogen der har et bud på hvorfor Opera behandler lag på denne måde, og evt. en nem løsning på problemet?
Avatar billede mclemens Nybegynder
29. juni 2006 - 21:20 #1
Hmmm, har ikke set det før ... det er ikke fordi du bruger visibility:hidden; istedet for display:none til at skjule og vise undermenuer med?
- bare et skud i tågen... :/
Avatar billede nheilbuth Nybegynder
29. juni 2006 - 21:53 #2
Tror egentlig det var et meget godt skud. Det er lavet med de javascript funktioner dreamweaver genererer. Mener de benytter visibility:hidden, jeg kigger lige på det i morgen.
Avatar billede mclemens Nybegynder
29. juni 2006 - 22:02 #3
Ok ... du kan prøve at erstatte med notesblok:
visibility -> display , visible -> block , hidden -> none
... det kan jo ikke svare sig at rode med at få dreamweaver til
at rette det, hvis det ikke er det, der giver problemerne ...
Avatar billede mclemens Nybegynder
29. juni 2006 - 22:04 #4
( husk dog at tage en backup )
Avatar billede mclemens Nybegynder
29. juni 2006 - 22:16 #5
Har lige testet i et testdokument med Opera 8.54
P.s. Der er lige kommet en ny Opera 9 :o)

...
aaaaaaaaaaaaaaaaaaaaaaaaaa
<div style="width:100%;visibility:hidden;height:300px;" onmouseover="alert('op - fejl1');">Test1</div>aaaaaaaaaaaaaaaaaaaaaaa
<div style="width:100%;display:none;height:300px;" onmouseover="alert('op - fejl2');">Test2</div>aaaaaaaaaaaaaaaaaaaaaaa
...

- jeg kunne ikke få fejl ved brug af visibility ...
... men visibility optager plads mens display ikke optager plads
- men jeg kan ikke umiddelbart genskabe fejlen i min Opera :/
Avatar billede nheilbuth Nybegynder
29. juni 2006 - 22:31 #6
Nej det undrede også mig. Jeg har egentlig ikke prøvet om fejlen er der i Opera 8.5x, det er i 9.0 jeg er stødt på den.

Du kan prøve at se om den også er der for dig:

http://www.hassolsen.dk

Det er de 4 undermenuer i produkter der driller.
Avatar billede mclemens Nybegynder
29. juni 2006 - 22:39 #7
Kan slet ikke få fejlen i 8.54
men prøver lige at opgradere...
Avatar billede mclemens Nybegynder
29. juni 2006 - 22:44 #8
Så nu går den helt i ged i Opera 9 :D
Avatar billede mclemens Nybegynder
29. juni 2006 - 22:45 #9
... men det er selvfølgelig ikke sjovt, det er bare pudsigt
at en opgradering giver sådan en fejl ... det er jo ikke windows...
Avatar billede mclemens Nybegynder
29. juni 2006 - 22:56 #10
- har testet lidt i et testdokument kan dog ikke få fejlen til at opstå med den i 29/06-2006 22:16:13 ... så jeg ved ikke om det skifte med visibility vs. display hjælper på opera :/
Avatar billede mclemens Nybegynder
29. juni 2006 - 23:11 #11
Så kører vi:

... tag en backup af dine html filer og:

- Åben dine html filer hvor du har scriptet i notesblok og kør:
> rediger > erstat
1. Søg efter: visibility
Erstat med: display
- tryk erstat alle

2. Søg efter: visible
Erstat med: block
- tryk erstat alle

3. Søg efter: hidden
Erstat med: none
- tryk erstat alle

Åben din css fil og:

1. Søg efter: visibility
Erstat med: display
- tryk erstat alle

2. Søg efter: hidden
Erstat med: none
- tryk erstat alle
Avatar billede mclemens Nybegynder
29. juni 2006 - 23:11 #12
... har testet med forside.html :o)
Avatar billede nheilbuth Nybegynder
30. juni 2006 - 09:07 #13
Ok, det prøver jeg.

Kom godt nok lige til at tænke på en anden ting. For at lave link på hele laget har jeg lavet noget i stil med:

<a href="blabla.htm"><div>tekst</div></a>

Kunne vel også være det Opera ikke kan lide, da linket jo ikke bliver skjult, men kun laget. Det burde vel egentlig laves med en gennemsigtig gif der dækker laget og så lave linket på den!?
Avatar billede mclemens Nybegynder
30. juni 2006 - 09:32 #14
... Den del rettede jeg ikke det andet var nok ...
- men et link på et helt lag er (vist) ikke helt ok (kodemæssigt)
... Du kan evt. prøve med: <div style="cursor:pointer;" onclick="window.location.href='blabla.htm';">tekst</div> Ulempen er dog at søgemaskiner ikke følger en onclick - så måske skal man så lave et sitemap... men rettelsen af visibility til display var nok til at Opera spiller hos mig ...

- Og tak for point :o)
Avatar billede nheilbuth Nybegynder
30. juni 2006 - 09:47 #15
Nej jrg mente nok det ikke var så "kønt" med link til et helt lag.
Der er lavet sitemap, så onClick kunne være en løsning.

Nå men tusind tak for hjælpen. Jeg vil lave det om til display i stedet, og så må jeg lige se med linksne.
Avatar billede nheilbuth Nybegynder
30. juni 2006 - 12:02 #16
Nu fik jeg endelig tid til at rode med det.

Jeg prøvede at sætte den til at bruge display i stedet for visibility, og det virkede fint i Opera, men begyndte så at lave mærkelige ting i IE og Firefox, så jeg prøvede at gå tilbage til visibility og fjerne links på lagene og nu virker det hele perfekt i alle browsere.

Der skulle vel så ikke være noget i vejen for at bruge onClick i forhold til søgemaskiner, når jeg har et sitemap? Eller hvad med at lave linket på en gennemsigtig gif der fylder hele laget?
Avatar billede mclemens Nybegynder
30. juni 2006 - 12:19 #17
[ Der skulle vel så ikke være noget i vejen for at bruge onClick i forhold til søgemaskiner, når jeg har et sitemap? ] - Det skulle ikke være noget problem

[ Eller hvad med at lave linket på en gennemsigtig gif der fylder hele laget? ] - Det burde ikke være bedre end onclick men du kan da prøve:

<div style="position:relative;"><a href="blabla.html" style="width:100%;height:100%;display:block;">Test</div>

eller <div style="position:relative;"><div style="position:absolute;top:0px;left:0px;"><a href="blabla.html"><img src="t.gif"  style="width:100%;height:100%;"></a></div>Tekst</div>

... ved ikke helt med de position relatives vs. absolute's har ikke testet det i forbindelse med siden ... glemte at teste de andre efter jeg fik Opera til at spille ...
Avatar billede mclemens Nybegynder
30. juni 2006 - 12:36 #18
[ Jeg prøvede at sætte den til at bruge display i stedet for visibility, og det virkede fint i Opera, men begyndte så at lave mærkelige ting i IE og Firefox, så jeg prøvede at gå tilbage til visibility og fjerne links på lagene og nu virker det hele perfekt i alle browsere. ]

- Vil du lige have lidt/det hele retur? Det var jo onmouseover der virkede og ikke det display der hjalp på det ... og du kom jo selv på det a href tag der skulle udskiftes med onmouseover istedet ... ;o)
Avatar billede nheilbuth Nybegynder
30. juni 2006 - 12:39 #19
Nej nej, det har skam været til stor hjælp!

Nu har jeg lavet det hele med en gif, og det ser ud til at spille på alle browsere!

Endnu engang tusind tak for hjælpen!
Avatar billede mclemens Nybegynder
30. juni 2006 - 12:43 #20
Ok, jamen - det var da så lidt ;D
... og tak for pointene så :)
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