/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Problem med hide/show layer i FF
Fra : Susanne H Jensen


Dato : 26-12-06 15:37

Jeg er helt grøn indenfor javascript, men skal selvfølgelig sidde
og rode med det alligevel.

Jeg er i gang med at lave en dagbog, der bruger følgende kode:
http://www.hvitfeldt.eu/dagbogskode.html

Problemet er bare, at der ikke sker en disse, når man trykker på
datoerne i FF - i IE 6 virker det fint. Det er de eneste to
browsere, som jeg har testet i.

Firefox buster mine fejl med hård hånd, problemet er bare, at jeg
ikke selv kan finde fejlen.

Koden er rent faktisk hentet fra et sted, hvor de sagde, at den
også virkede i FF, men den virker ihvertfald ikke i min - og jeg
har tjekket om javascript er sat til.....

Hvor dælen er fejlen henne??

Jeg vil sætte stor pris, at der tales langsomt, da jeg som sagt
er helt grøn.

Med Venlig Hilsen Susanne

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Marten Ølgaard (27-12-2006)
Kommentar
Fra : Marten Ølgaard


Dato : 27-12-06 12:45

Hvis du fjerner dit doctype tag i starten af siden virker det (næsten).

/Marten



Erik Ginnerskov (27-12-2006)
Kommentar
Fra : Erik Ginnerskov


Dato : 27-12-06 13:41

Marten Ølgaard wrote:
> Hvis du fjerner dit doctype tag i starten af siden virker det
> (næsten).

I betragtning af, at vi her i gruppen plejer at råde spørgere til at sætte
en fundstændig doctype, så siden kan vises ens i alle browsere - alle
browsere sættes i standards-mode - virker din rådgivning noget malplaceret.

--
Godt nytår
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Erik Ginnerskov (27-12-2006)
Kommentar
Fra : Erik Ginnerskov


Dato : 27-12-06 13:46

Susanne H Jensen wrote:

> Jeg er i gang med at lave en dagbog, der bruger følgende kode:
> http://www.hvitfeldt.eu/dagbogskode.html
>
> Problemet er bare, at der ikke sker en disse, når man trykker på
> datoerne i FF - i IE 6 virker det fint. Det er de eneste to
> browsere, som jeg har testet i.

I begyndelsen af dit script har du disse kodelinjer:

function hideDivs (whichLayer) {
var divs = document.all.tags('DIV');
for (var d = 0; d < divs.length; d++)
divs[d].style.display = '';
}

FF forstår ikke document.all (det er en IE-ting), så mon ikke problemet
ligger der? Scriptet skal skrives om, så det rammer document.getElementById
som både FF og IE6 forstår.

--
Godt nytår
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Jørgen Farum Jensen (27-12-2006)
Kommentar
Fra : Jørgen Farum Jensen


Dato : 27-12-06 17:23

Erik Ginnerskov skrev:

> I begyndelsen af dit script har du disse kodelinjer:
>
> function hideDivs (whichLayer) {
> var divs = document.all.tags('DIV');
> for (var d = 0; d < divs.length; d++)
> divs[d].style.display = '';
> }
>
> FF forstår ikke document.all (det er en IE-ting), så mon ikke problemet
> ligger der? Scriptet skal skrives om, så det rammer document.getElementById
> som både FF og IE6 forstår.
>

1. Er
document.all.tags('DIV')
det samme som
document.all.tags('div') ???

2.
Har Susanne overhovedet brug for denne funktion?

Hvis hun nu erstatter
function toggleLayer(whichLayer) {
hideDivs();
if (document.getElementById) {
   var style2 =
   document.getElementById(whichLayer).style;
   style2.display = style2.display? "":"block";
}
osv.

med

function toggleLayer(whichLayer) {
/* hideDivs(); */
if (document.getElementById(whichlayer).
->   style.display="block"){
document.getElementById(whichlayer).
->   style.display="none")

}
else {
document.getElementById(whichlayer).
->   style.display="block")
}}

tester hun for, om den aktuelle dagbogsnote
er vist eller skjult, og skjuler og viser
den respektive.

3.

Og

<a href="javascript:toggleLayer('Date_2006_11_13');">13</a>
bør i det mindste være
<a href="/"
onclick="toggleLayer('Date_2006_11_13');
-> return false;">13</a>

--

Med venlig hilsen
Jørgen Farum Jensen
Håndbog i websidekonstruktion:
http://webdesign101.dk/wwwbog/udgave2/
Webdesign med stylesheets: http://webdesign101.dk/cssbog/
..

Susanne H Jensen (27-12-2006)
Kommentar
Fra : Susanne H Jensen


Dato : 27-12-06 22:31

> 1. Er
> document.all.tags('DIV')
> det samme som
> document.all.tags('div') ???

Umiddelbart reagerer den ikke forskelligt om jeg skriver "div" med stort eller
lille.
>
> 2.
> Har Susanne overhovedet brug for denne funktion?

Og der sker vist heller ikke det store ved at fjerne den, så vidt jeg kan se??
>
> Hvis hun nu erstatter
> function toggleLayer(whichLayer) {
> hideDivs();
> osv.
>
> med
>
> function toggleLayer(whichLayer) {
> /* hideDivs(); */
> osv.

> tester hun for, om den aktuelle dagbogsnote
> er vist eller skjult, og skjuler og viser
> den respektive.

Og så viser den fejl på siden i baren i bunden af browseren.
>
> 3.
>
> Og
>
> <a href="javascript:toggleLayer('Date_2006_11_13');">13</a>
> bør i det mindste være
> <a href="/"
> onclick="toggleLayer('Date_2006_11_13');
> -> return false;">13</a>

Så går den ud til forsiden af min hjemmeside.

Sådan, som jeg har sat dagbogskoden op nu, så får jeg godt nok ingen fejl, men
den virker heller ikke. Jeg har beholdt det med linket på siden inde under 13.

------------------------------------------------------------------------------

Jeg er ved at være så desperat og forvirret angående dette script, at jeg også er
modtagelig over for andre måder at skjule og vise lag. Jeg har forsøgt at kigge
rundt på nettet, men umiddelbart, så kan jeg kun finde scripts, hvor alle diverne
skal skrives ind. Og da dagbogen kører helt tilbage fra 2004 med op til måske 20
indlæg pr. måned, så synes jeg det bliver lidt omstændig.

url til koden : http://www.hvitfeldt.eu/dagbogskode.html

og hvis det gør nogen forskel, så kan den rigtige dagbog ses her:
http://www.hvitfeldt.eu/sedoj/dagbog.asp

Jeg valgte bare at bruge forstnævnte eksempel, da den ikke er fyldt op med
alenlange dagbogsindlæg og koden står direkte i dokumentet.

Med Venlig Hilsen Susanne

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (27-12-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 27-12-06 17:50

Erik Ginnerskov skrev:

> FF forstår ikke document.all

Det er ikke helt rigtigt. Firefox har siden version 1 understøttet
document.all - men kun i visse tilfælde.

For det første understøttes document.all kun i quirksmode (det er
givetvis derfor at Martens råd om at fjerne doctypeerklæringen
fungerer). For det andet svarer et eksistenstjek på document.all
(if (document.all) { ... }) stadig falsk.

Årsagen til denne opførsel er at mange gamle scripts benytter
document.all som en (dårlig) genvej til at tjekke om browseren er
IE - og hvis man fx har et script hvor der først tjekkes for
document.all og dernæst for document.getElementById, så ville FF
havne i den forkerte blok hvis document.all var detekterbart.

> Scriptet skal skrives om, så det rammer document.getElementById
> som både FF og IE6 forstår.

Det ville nok være mere oplagt med getElementsByTagName - der lige
som document.all.tags returnerer en samling af elementer med et
bestemt navn. Men funktionen ville nok være mere effektiv hvis man
i stedet for at referere til div nr. 42 på siden, refererede
direkte til dens id-værdi.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Susanne H Jensen (27-12-2006)
Kommentar
Fra : Susanne H Jensen


Dato : 27-12-06 21:36

Tusinde tak for svarene - jeg vil straks gå i gang med at teste
rådene en efter en - og så lige kigge dem igennem, så jeg er med på,
hvad der sker, og hvorfor i selve koden. Jeres forklaringer hjælper
dog også en hel del.

Det eneste, der ikke bliver testet er den med at fjerne doctypen -
siden skulle gerne valideres, når den er færdig - indtil videre er
det kun css'en der er valideret. Der er dog en enkelt fejl i den,
der referes til i mit fotoalbum (Lightbox hentet ved DynamicDrive)

Nå men det var jo slet ikke i det her forum, at vi skulle ind på
det.

Men jeg vil prøve mig frem, og skal nok skrive, hvis der dukker
flere problemer op eller det hele bare fungerer.

Med Venlig Hilsen Susanne

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Susanne H Jensen (28-12-2006)
Kommentar
Fra : Susanne H Jensen


Dato : 28-12-06 19:42

Hejsa igen - undskyld jeg sådan skriver så mange indlæg, men jeg vil
bare lige fortælle, at løsningen på det hele blev et helt nyt
script.

Det er blot endnu et script, som jeg fandt ude på nettet, men dette
her virker i det mindste.

Det kan ses her: http://www.hvitfeldt.eu/dagbogskode2.html

Med Venlig Hilsen Susanne

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408181
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste