Når man trykker på et af de 4 hovedpunkter (så menuen folder sig ud) Skal billedet skiftes ud med et andet, indtil man trykker på et af de andre 3 hovedpunkter, så skal det nye man trykker på skiftes ud,og det første skal skifte tilbage...siger sig selv... :)
Jeg har prøvet selv med diverse ting, men har kun fået den til, at skifte ud når man trykker, men ikke til at skifte tilbage når man trykker på noget andet... :)
Brug af AI afslører de svagheder, virksomheder allerede har opbygget gennem års cloud-transformation, nye SaaS-løsninger og fragmenterede sikkerhedssystemer.
udskift dit script med: <script LANGUAGE=javascript>
var menuliste = new Array( "undermenu1", "undermenu2", "undermenu3", "undermenu4" );
function findMenu ( nummer ) {
if ( nummer < 0 || nummer >= menuliste.length ) return null; // findes ikke if ( document.getElementById ) return document.getElementById( menuliste[ nummer ] ); if ( document.all ) return document.all[ menuliste[ nummer ] ]; return null; // desværre dette duer ikke i Netscape 4
}; //end findMenu( Number ) -> menu object
function open_menu(aaben) {
for (i=0; i < menulist.length; i++) { if (i+1==aaben) { // skal vises findMenu(i).style.display="block" } else { // skal gemmes findMenu(i).style.display="none" } }
nej jakoba, det jeg mener er, at selve billedet man trykker på, skal skiftes ud med et andet, SAMTIDIG med at menuen folder sig ud...billedet skal skiftes ud med et med en grå nyance når man trykker...og skal så skiftes tilbage til det originale menupunkt når man vælger et andet af de 3 hovedmenu-punkter.
denfor har jeg givet <img kommandoerne navne "pic1, pic2, osv. til hver <img kommando høre så to billedfiler der hedder "pic1on.gif" og "pic1off.gif", "pic2on.gif" og "pic2off.gif", osv
<html> <head><title>foldeud menu</title>
<script LANGUAGE=javascript>
var menuliste = new Array( "undermenu1", "undermenu2", "undermenu3", "undermenu4" ); var picliste = new Array( "pic1", "pic2", "pic3", "pic4" );
var preloader = new Array(); //benyttes til preload. for (i=0; i<picliste.length; i++) { preloader[i] = new Image(): preloader[i].src = picliste[i]+"on.gif"; // preload on billederne }
function findMenu ( nummer ) {
if ( nummer < 0 || nummer >= menuliste.length ) return null; // findes ikke if ( document.getElementById ) return document.getElementById( menuliste[ nummer ] ); if ( document.all ) return document.all[ menuliste[ nummer ] ]; return null; // desværre dette duer ikke i Netscape 4
}; //end findMenu( Number ) -> menu object
var nuverende = -1; // alle lukket function open_menu(aaben) { if ( aaben == nuverende ) { findMenu(aaben-1).style.display="none" document.images[ picliste[ aaben-1 ] ].src = picliste[ aaben-1 ]+"off.gif"; nuverende = -1; } else { for (i=0; i < menuliste.length; i++) { if (i+1==aaben) { // skal vises findMenu(i).style.display="block" document.images[ picliste[ i ] ].src = picliste[ i ]+"on.gif"; } else { // skal gemmes findMenu(i).style.display="none" document.images[ picliste[ i ] ].src = picliste[ i ]+"off.gif"; } } nuverende = aaben; // husk den der er åben. } }; //end open_menu( number )
Se her..hvis jeg forstår scriptet ret, så tager den id'et (name="") og putter en endelse på, så det danner billedenavnet..en lidt fusket måde synes jeg, så billederne *skal* have et bestemt navn, osv...kan dette ikke ændres? Smider gerne flere points jakoba, jeg vil bare ha det skidt til at virke snart.. :)
Jeg får fejl på siden - jeg har tilladt mig at ændre navnene på billederne, samt varlisten med billedenavne, + endelserne...
du kan sagtens give billederne individuelle navne. bare tilføj et par ekstra arrays, med billedfilnavne:
var onpics = new Array( "billed1on.gif", "numeroduo.jpg", "dentredie.gif", "fjerde.gif" ); var offpics = new Array( "ballon.gif", "comoesta.gif", "drittenaus.gif", "vaekfire.jpg" );
de steder du skifter billeder skal det så være document.images[ picliste[ i ].src = offpics[ i ]; og tilsvarende de to andre steder
i preloaderen bliver det: preloader[i].src = onpics[i]; // preload on billederne
Det var bare et par syntaksfejl, og så havde du glemt at tage mappestieen med i de billednavne du gererer.
<html> <head> <title>test</title>
<script LANGUAGE=javascript>
var menuliste = new Array( "undermenu1", "undermenu2", "undermenu3", "undermenu4" ); var picliste = new Array( "hvem_er_vi", "hvad_kan_vi", "hvordan_goer_vi", "kontakt" ); var offpics = new Array( "billeder/hvem_er_vi.gif", "billeder/hvad_kan_vi.gif", "billeder/hvordan_goer_vi.gif", "billeder/kontakt.gif" ); var onpics = new Array( "billeder/hvem_er_vi_2.gif", "billeder/hvad_kan_vi_2.gif", "billeder/hvordan_goer_vi_2.gif", "billeder/kontakt_2.gif" );
var preloader = new Array(); //benyttes til preload. for (i=0; i<picliste.length; i++) { preloader[i] = new Image(); preloader[i].src = onpics[i]; // preload on billederne }
function findMenu ( nummer ) {
if ( nummer < 0 || nummer >= menuliste.length ) return null; // findes ikke if ( document.getElementById ) return document.getElementById( menuliste[ nummer ] ); if ( document.all ) return document.all[ menuliste[ nummer ] ]; return null; // desværre dette duer ikke i Netscape 4
}; //end findMenu( Number ) -> menu object
var nuverende = -1; // alle lukket function open_menu(aaben) { if ( aaben == nuverende ) { findMenu(aaben-1).style.display="none" document.images[ picliste[ aaben-1 ] ].src = picliste[ aaben-1 ]+".gif"; nuverende = -1; } else { for (i=0; i < menuliste.length; i++) { if (i+1==aaben) { // skal vises findMenu(i).style.display="block" document.images[ picliste[ i ] ].src = onpics[ i ]; } else { // skal gemmes findMenu(i).style.display="none" document.images[ picliste[ i ] ].src = offpics[ i ]; } } nuverende = aaben; // husk den der er åben. } }; //end open_menu( number )
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.