Avatar billede sorenmt84 Juniormester
27. november 2004 - 18:07 Der er 4 kommentarer og
1 løsning

onmouse - baggrund på akk. felt, samt feltet længst til venstre

Jeg har en kalender, som jeg godt kunne tænke mig at peppe lidt op med noget css. Det skal være sådan så hvis jeg flytter muser over fx. den 5. så bliver det felt i tabellen en eller anden farve, men derudover vil jeg også gerne have at feltet helt ude til venstre bliver samme farve

EKS på tabel:

[UGE][MAN][TIR][ONS]...
[1]  [1]  [2]  [3]
[2]  [4]  [5]  [6]

altså, således så når jeg holder musen i fletet 5 bliver feltet 2 ude under uge også farver!
Avatar billede skovenborg Nybegynder
27. november 2004 - 20:18 #1
Det er ikke muligt med CSS at lave den slags tricks. Du kan godt gøre det på feltet 5 hvis det var et link, men hvis du skal gå ud over det, bliver det med CSS-kode Internet Explorer ikke forstår et kuk af.

Et alternativ kunne være at bruge java script:
<script type="text/javascript">
  var standardColors = new Array();
  function changeColors() {
      if (arguments.length % 3 == 0) {
            for (i=0;i<arguments.length;i+=3) {
                  elmID = arguments[i];
                  elm = document.getElementById(elmID).style;
                  if (!standardColors[elmID]) {
                        standardColors[elmID] = [elm.color,elm.backgroundColor];
                  }
                  elm.color = arguments[i+1];
                  elm.backgroundColor = arguments[i+2];
            }
      }
  }
  function changeColorsToStandard() {
      for (i=0;i<arguments.length;i++) {
            elmID = arguments[i];
            if (standardColors[elmID]) {
                elm = document.getElementById(elmID).style;
                elm.color = standardColors[elmID][0];
                elm.backgroundColor = standardColors[elmID][1];
            }
      }
  }
</script>

<body>
<div id="uge2" style="color:#000;backgroundColor:#fff">2</div>
<div id="dag5" style="color:#000;backgroundColor:#fff" onmouseover="changeColors('dag5','#f00','#00f','uge2','#00f','#f00');" onmouseout="changeColorsToStandard('dag5','uge2');">5</div>
</body>

Her er det godt nok vist med div's, men princippet er det samme med tabeller.
Avatar billede sorenmt84 Juniormester
27. november 2004 - 22:29 #2
Tjah... jeg kunne ikke få det til at virke... men jeg fandt en 100% css løsning:

Godt nok lige blandet med lidt asp her:

response.write "<td height=""100"" valign=""top""  OnClick=""parent.location.href='/?dagen&dato=2004-11-15'"" OnMouseOver=""this.style.background='#aaffaa'; this.style.cursor='hand'; window.status='mandag den 15. november 2004';"" OnMouseOut=""this.style.background='#FFFFFF'; window.status='';"" bgcolor=#FFFFFF>" & dag & "</td>"
if linie = 7 and dag < sidste then
response.write "</tr><tr OnMouseOver=""this.style.background='#aaffaa'"" OnMouseOut=""this.style.background='transparent';""><td  OnMouseOver=""window.status='Uge 47';"" OnMouseOut=""window.status='';""><b>" & datepart("ww", dag+1 & "-" & mdr & "-" & aar, 2, 2) & "</b></td>"
Avatar billede skovenborg Nybegynder
29. november 2004 - 16:57 #3
okay, men den der løsning er faktisk også en javascript løsning - bare for at ødelægge din drømme om en virkelig 100% css løsning ;-)
Avatar billede sorenmt84 Juniormester
29. november 2004 - 17:01 #4
det er jo som sådan ikke noget javascript den, men ja det er da rigtigt at de bliver afviklet med onmouse og this.style osv osv... Det var heller ikke sådan at der ikke må stå noget andet bag, men det er jo altid dejligt når man kan begrænse det lidt :-D
Avatar billede roenving Novice
29. november 2004 - 17:02 #5
Det er som sådan javascript, når man afvikler et script i en javascript-event ...
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