05. juli 2007 - 11:39Der er
15 kommentarer og 1 løsning
Skifte farve på class, baseret på en anden class
Hej Eksperter!
Håber nogen kan hjælpe!
Jeg har en menu, baseret på <li>. Når et element er aktiv får den en class, eksempelvis selected_li1 til og med selected_li5 (har 5 menu_punkter).
Hver af disse undersider er ens bygget op og den eneste forskel er egentligt at en headline (h2, .h2 (gav den også en class)) skal skifte farve og matche menuens baggrundsfarve.
Kan jeg på en eller anden måde få JavaScript til at checke om selected_li4 er tilstede, og hvis ja, så skal min headline have en specfik baggrundsfarve... og en anden, hvis selected_li2 er tilstede?
Disse classes (selected_li1 til 5) er kun i mit dokument, såfremt man har klikket på et af underpunkterne og forsvinder igen, så snart man klikker væk.
Skift af CSS-klasse skal du, så vidt det overhovedet er muligt, undgå. Det performer rent elendigt. Hvad du skal gøre i stedet, kan jeg ikke umiddelbart gætte mig frem til uden at kende koden =)
Nu kan det godt være vi snakker forbi hinanden, men jeg prøver alligevel... :)
Den skal som sådan ikke skifte class. Class skal stadig hedde det samme, det eneste er at der skal forskellig color på, afhængig af om selected_li* er tilstede eller ej.
De fem forskellige <li>´s skal altså have forskellig color på en .h2-class. Der vil dog aldrig være mere end én forekomst af selected_li*... du kan altså ikke have både selected_li2 og selected_li3 på én og samme side.
Men altså... er selected_li2 tilstede, så giv .h2 denne farve. Er selected_li3 tilstede, så giv den denne her farve... og så videre. Det er tanken bag :)
<div id="subpages_content"> <h2 class="h3">Displays</h3> <span class="subpages_content_text"><a name="854" class="pidlink"></a><p>Explicable monto del astra in figura, nomine et funta villa brachi. Sed esset verba, con linguli dustra bulgar untera. Orcit onestra somnis, vici func nerie fino et valle nostrum, garado bellis muntro. Optera legunta fructi spenissam, nunc est gracer negro labri, octe spinoli vunta apsis.</p> <p> </p> <p>Puncres illestri mines fidel. Actro minese pulcer donne, finese alla grave proctor, superior laxit mente. Labore grafonum id esset do refugis nur ambelle, poltra verse octe binale, cactre prolonge entre pioline.</p></span> <!--@TemplateParagraphColumn2--> </div>
Igen, hvis (som her) classes .selected_li1 er tilstede, så skal .h2 have en anden color. Hvis man vælger næste menupunkt, som så vil få class .selected_li2, så skal .h2 have en anden farve igen.
Problemet er jo bare at .h2 altid helst skal hedde .h2 :) Men udseendet skal ændre sig alt efter om det er selected_li1 eller selected_li2, som er tilstede...
Ved ikke om det kan lade sig gøre, men ihvertfald tak for hjælpen. Smid et svar, hvis du vil have points.
.h2 er jo en klasse for sig, mens .selected_li1 er en helt anden. Så hvad menes der lige med at hente alle h2´er og checke om de har den klasse? De har kun én klasse :)
.selected_li klasserne ligger et helt andet sted i dokumentet.
Oh well, tror bare jeg dropper det. Det bliver et værre hyr med meget lidt resultat.
Hehe ... vi er vist kommet i samme båd, roenving. Underviser på Teknisk Skole for tiden. Undervisning er sjovt og givende - men tapper svært fra aldrende herrers energidepoter! ;D
Synes godt om
Ny brugerNybegynder
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.