/ 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
Åbner ikke i Opera og nedgradere pæ
Fra : Lars Olesen


Dato : 19-12-03 08:40

Følgende Javascript åbner ikke min menu i Opera - se eksempel på
www.vih.dk - og menuen, som skal åbne er Genvej..., som findes lige
under billedet.

Kravene til scriptet er, at det skal være crossbrowser. Desuden ville
jeg høre om det er muligt at gøre det sådan, at hvis browseren ikke
forstår javascript, så er der ikke noget skjult i genvejsmenuen, så det
ligeledes bliver tilgængeligt for alle?


<!-- Javascriptide fra www.webdesign101.dk
// modificeret af Lars Olesen, 18. december 2003

var dom = (document.getElementById) ?    true : false;
var ie4 = (document.all && !document.getElementById) ?    true : false;
var ns4 = (document.layers) ?    true : false;

// funktion til at finde et objekt alt efter browsertype

function findObjekt(objekt) {
   var blok;
   if (dom) {
         blok = document.getElementById(objekt).style;
   }
   else if (ie4) {
         blok = document.all[objekt].style;
   }
   else if (ns4) {
         blok = document.layers[objekt];
   }
   return blok;
}

// funktioner til at åbne eller lukke element

function expand(objekt){
   var blok = findObjekt(objekt);
   blok.display="block";
}

function collapse(objekt){
   var blok = findObjekt(objekt);
   blok.display="none";
}

// vis eller skjul genvejsmenuen
menu1synlig=0; //menuen er skjult

function visMenu(objekt){

   if (menu1synlig==1){
      collapse(objekt);
      menu1synlig=0;
   document.getElementById('pil').innerHTML="&darr;";
      return;
   }
   if (menu1synlig==0){
      expand(objekt);
      menu1synlig=1;
   document.getElementById('pil').innerHTML="&uarr;";
   }
}
//-->

--
Lars
www.fodboldenslegestue.dk   www.larsolesen.dk
www.discimport.dk      www.vih.dk


 
 
Martin Hintzmann And~ (19-12-2003)
Kommentar
Fra : Martin Hintzmann And~


Dato : 19-12-03 11:19

Lars Olesen wrote:
> Følgende Javascript åbner ikke min menu i Opera - se eksempel på
> www.vih.dk - og menuen, som skal åbne er Genvej..., som findes lige
> under billedet.
>
> Kravene til scriptet er, at det skal være crossbrowser. Desuden ville
> jeg høre om det er muligt at gøre det sådan, at hvis browseren ikke
> forstår javascript, så er der ikke noget skjult i genvejsmenuen, så det
> ligeledes bliver tilgængeligt for alle?
>
>

Jeg ville lave det på følgende måde:
http://users.cybercity.dk/~dsl58854/testcenter/js/shortcut/index.html

Kun browser med DOM-support får listen (Testet og virker på win2k i IE5+, Mozilla, Opera 7+)

I ældre browsere (IE4 + NS4) og browser uden javascript og DOM-support, vises listen som en
almindelig liste.

NB. IE skal have margin:0; på p-elementet, ellers starter listen 1em nede.

Håber at du kan bruge det

Hintzmann c",)

Lars Olesen (19-12-2003)
Kommentar
Fra : Lars Olesen


Dato : 19-12-03 11:52

> Jeg ville lave det på følgende måde:
> http://users.cybercity.dk/~dsl58854/testcenter/js/shortcut/index.html

Det er din brug af id til at kalde javascripten, som gør det hele så
elegant. Har du nogle links, hvor man kan læse mere om den facon at gøre
tingene på.

> I ældre browsere (IE4 + NS4) og browser uden javascript og DOM-support,
> vises listen som en almindelig liste.

Hvad er DOM-support helt nøjagtigt? Ikke fordi jeg vil trætte dig med
utallige spørgsmål :)

> Håber at du kan bruge det

Det kan jeg i hvert fald, selvom jeg lige skal arbejde lidt med
nedgraderingen, når jeg samtidig har stylet noget af det

--
Lars
www.fodboldenslegestue.dk   www.larsolesen.dk
www.discimport.dk      www.vih.dk


Martin Hintzmann And~ (19-12-2003)
Kommentar
Fra : Martin Hintzmann And~


Dato : 19-12-03 12:32

Lars Olesen wrote:

>
> Det er din brug af id til at kalde javascripten, som gør det hele så
> elegant. Har du nogle links, hvor man kan læse mere om den facon at gøre
> tingene på.
>

Ikke umiddelbart, men det er en generel programmeringsskik at man prøver at opbygge sin kode i
funktioner/moduler, så den kan genbruges.


>
> Hvad er DOM-support helt nøjagtigt? Ikke fordi jeg vil trætte dig med
> utallige spørgsmål :)

Peter-Paul Koch giver en rigtig god forklaring af DOM'en.
http://www.quirksmode.org/dom/intro.html

Hintzmann c",)

Lars Olesen (19-12-2003)
Kommentar
Fra : Lars Olesen


Dato : 19-12-03 15:01

> Ikke umiddelbart, men det er en generel programmeringsskik at man prøver
> at opbygge sin kode i funktioner/moduler, så den kan genbruges.

Ja, det er jeg med på. Jeg tænkte mere på, at du undgår javascript i
selve genvejsbaren, men kalder den på en anden måde, end normalt, hvor
man vil sætte noget i en onclick!

/lars

--
Lars
www.fodboldenslegestue.dk   www.larsolesen.dk
www.discimport.dk      www.vih.dk


Martin Hintzmann And~ (19-12-2003)
Kommentar
Fra : Martin Hintzmann And~


Dato : 19-12-03 15:37

Lars Olesen wrote:

>> Ikke umiddelbart, men det er en generel programmeringsskik at man
>> prøver at opbygge sin kode i funktioner/moduler, så den kan genbruges.
>
>
> Ja, det er jeg med på. Jeg tænkte mere på, at du undgår javascript i
> selve genvejsbaren, men kalder den på en anden måde, end normalt, hvor
> man vil sætte noget i en onclick!
>


Ligesom man skal prøve at adskille indhold og layout/design, så skal man også prøve at adskille
indhold og funktionalitet.

Jeg plejer at lave en lokal funktion "init()" som bliver kaldt når siden er loadet.

function init() {
}
window.onload = init;

I init() funktionen kalder jeg så de globale funktioner så som nice-feature funktioner,
navigering, form opsætning o.lign.

De bliver kaldt med forskellige parametre som har med den aktuelle side at gøre. Ofte er
parametret et id eller en class.

De globale funktioner bliver så udført på basis af disse parametre på sidens elementer.

Hintzmann c",)







Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408526
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste