Avatar billede drinkit Praktikant
02. juli 2005 - 22:26 Der er 25 kommentarer og
2 løsninger

ul:hover virker ik - hvad skal jeg bruge istedet?

<li><a href="#">Artikler</a></li>

Når man holder musen over det link, skal hele "ul'en" ændre bg farve.. hvordan gør man det?
Avatar billede drinkit Praktikant
02. juli 2005 - 22:26 #1
omformulering.. kan det gøre kun ved hjælp af CSS ? eller skal der JS til?
Avatar billede nielle Nybegynder
02. juli 2005 - 22:31 #2
Hvorfor vil du sætte din hover på ul? Prøv at sætte den på a i stedet.
Avatar billede ysubhi Nybegynder
02. juli 2005 - 22:31 #3
der bliver du vist nød til at bruge lidt js. lige to sek, så bikser jeg lidt kode sammen.
Avatar billede nielle Nybegynder
02. juli 2005 - 22:32 #4
Avatar billede drinkit Praktikant
02. juli 2005 - 22:33 #5
hvis jeg sætter det på a kun - så er det ikke hele længden af min td der får en anden bg, så er det kun lige teksten.. ik det der skal ske!
Avatar billede drinkit Praktikant
02. juli 2005 - 22:34 #6
ysubhi - tak .. venter spændt!
Avatar billede nielle Nybegynder
02. juli 2005 - 22:35 #7
Ok, forstået. Men, nej det kan ikke gøres med CSS. Lad os se hvad ysubhi kommer op med.
Avatar billede roenving Novice
02. juli 2005 - 22:35 #8
IE kan idag kun supportere bla. :hover-pseudo-klassen på a-tags, så der skal noget javascript til !-)

-- bemærk også, at det er voldsomt tåbeligt at skifte klasse on-the-fly, så scriptet skal kun skifte de relevante properties !o]
Avatar billede drinkit Praktikant
02. juli 2005 - 22:37 #9
on-the-fly?
Avatar billede roenving Novice
02. juli 2005 - 22:44 #10
Hvis du skal ændre noget på et element, skal du ændre den konkrete property, altså f.eks. sætte element.style.backgroundColor="#345", og ikke forsøge at sætte det ved at skifte til en anden klasse ...

Problemet er, at man tvinger browseren til at genberegne hele html-dokumentet, præcis som det gør, når den overhovedet loader dokumentet og opbygger et sprit-nyt DOM-træ !-)
Avatar billede ysubhi Nybegynder
02. juli 2005 - 22:47 #11
i head delen:

<style>
#hest {
background-color : #ffff00;
}
</style>

<script>
function farv(janej){

if (janej == 'ja'){
hest.style.background = '#00ff00';
}
if (janej == 'nej'){
hest.style.background = '#ffff00';
}

}
</script>

i body-delen:

<ul id="hest">
    <li>hej</li>
    <li><a href="#" onmouseover="farv('ja');" onmouseout="farv('nej');">Artikler</a></li>
</ul>

kan du bruge det til noget?
Avatar billede roenving Novice
02. juli 2005 - 22:54 #12
Hrm ...

-- det kan man kun bruge til noget, hvis man insisterer på, at det kun skal virke for brugere, som tilfældigvis bruger en M$-browser ...

-- ellers skal den se således ud:

<style type="text/css">
#hest {
background-color : #ff0;
}
</style>

<script>
function farv(elm,type){
while(elm.tagName!='UL')elm = elm.parentNode;
if (type == 'ja'){
elm.style.background = '#00ff00';
}
if (type == 'nej'){
elm.style.background = '';
}

}
</script>

i body-delen:

<ul id="hest">
    <li>hej</li>
    <li><a href="#" onmouseover="farv(this,'ja');" onmouseout="farv(this,'nej');">Artikler</a></li>
</ul>

<ul id="gris">
    <li>hej</li>
    <li><a href="#" onmouseover="farv(this,'ja');" onmouseout="farv(this,'nej');">Artikler</a></li>
</ul>
Avatar billede drinkit Praktikant
02. juli 2005 - 22:58 #13
http://www.qrede.dk/qrede/
Hva går der så galt?
Avatar billede ysubhi Nybegynder
02. juli 2005 - 23:02 #14
min virker da også i moz?

anyway. din kode er helt klart smartere. (:
Avatar billede drinkit Praktikant
02. juli 2005 - 23:04 #15
må lige sidde og arb. lidt med det.. smid svar begge to.. vi splitter dem ;)
Tussinde tak for hurtig hjælp!
Avatar billede ysubhi Nybegynder
02. juli 2005 - 23:06 #16
selvtak (: - men splitning er ikke helt fair. roenvings script er klart bedre.
Avatar billede roenving Novice
02. juli 2005 - 23:12 #17
>>ysubhi

-- virker den i Mozilla ?-)

-- ikke hos mig da ...

-- els velbekomme '-)
Avatar billede roenving Novice
02. juli 2005 - 23:14 #18
-- og tak for point ;~}
Avatar billede ysubhi Nybegynder
04. juli 2005 - 00:20 #19
roenving> hos mig gør det da? (:

tak for point (:
Avatar billede roenving Novice
04. juli 2005 - 11:44 #20
Hvilken udgave af Mozilla arbejder du med ?-)

To ting slår mit øje, når jeg ser den slags kode:

-- et script-tag uden en type-attribut er i bedste fald dovenskab, og i hvert fald ikke tilladt, hvis man vil kalde sin kode for valid html ...

-- adressering af et html-element direkte ved at bruge dets id-attribut forudsætter at browseren kender document.all, hvilket som bekendt er en IE-feature, som dog også er kopieret i Opera, men mig bekendt ikke i nogensomhelst anden browser (og heller ikke i standardens DOM-bindinger !-)
Avatar billede ysubhi Nybegynder
04. juli 2005 - 12:15 #21
jaa, style attributten burde også have en type attribut, men her var det for at vise scriptet, så hvorvidt om det var valid eller ej lagde jeg ikke vægt på :0)
jeg regner med at du også har haft det på samme måde, da du skrev koden. Du har også glemt type-attribut i et script-tag

javascript er ikke min stærkeste side, så det er mig desværre ikke bekendt. Men jeg hører noget om at man skal undlade brugen af DOM-bindinger, da man så vil få et mere korrekt og fremtidssikkert script. Er det dét du har gjort ved at bruge tagName og parentNode?

Jeg sidder med en FF 1.0.4 - Gecko 20050511
Avatar billede roenving Novice
04. juli 2005 - 14:28 #22
-- det er derfor jeg kalder det dovenskab, for selv skriver jeg aldrig et style- eller script-tag, som ikke har en type-attribut, men også jeg overser det nogle gange, når jeg kopierer fra andet ...

Man skal netop bruge DOM-bindinger, hvis man skal fremtidssikre sine scripts !-)

-- grunden til at jeg valgte at bruge løsningen med at finde linkets umiddelbart omgivende ul-parentNode var, at jeg ville gøre det mere generisk, så man kunne slippe for komplikationer med at have id'er, som skal vedligeholdes !o]
Avatar billede olebole Juniormester
04. juli 2005 - 14:50 #23
<ole>

ysubhi >> Hvis det virker at aderssere elementer i FF1.0.4, er der tale om en meget alvorlig fejl, du øjeblikkelig bør rapportere til Mozilla - hvor den sikkert vil blive højt prioriteret på den efterhånden rimelig lange liste af bugs  :)

Udeladelse af brugen af ECMA-DOM bindinger er et absolut no-no. Det er det idag - og intet somhelst tyder på noget andet i fremtiden. Tværtimod ... hverken HTML eller XHTML har andre muligheder for adressering  :)

/mvh
</bole>
Avatar billede olebole Juniormester
04. juli 2005 - 14:51 #24
- og der burde jo nok have stået:
    "hverken under HTML eller XHTML har du andre muligheder for adressering"
Avatar billede olebole Juniormester
04. juli 2005 - 14:52 #25
- og:
  "Hvis det virker at adressere elementer i FF1.0.4 uden ECMA-DOM bindinger, er der tale om ..."  :)
Avatar billede ysubhi Nybegynder
04. juli 2005 - 15:01 #26
så må jeg have misforstået noget. tak for rettelsen (:
Avatar billede olebole Juniormester
04. juli 2005 - 15:23 #27
- selvtak ... bare vi får rettet misforståelserne, går det zq nok  ;o)
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