Avatar billede kapoou Nybegynder
25. maj 2006 - 17:58 Der er 13 kommentarer og
1 løsning

baggrundsfarve på tr

Jeg har en tabel hvor jeg gerne vil have en anden farve på den tr som man senest har klikket på. Dvs. at hvis du først klikker på den øveste og derefter på den neden under så skiften den øveste tilbage til default farve mens den neden under skifter til den bestemte farve. Hvordan gøres dette??

Mange tak for hjælpen!
Avatar billede psykochicken Nybegynder
25. maj 2006 - 18:33 #1
måske:

<script type="text/javascript">
var mytr = document.getElementsByTagName('tr');
function changeit(){
  for (i=0;i<mytr.length;i++){
    mytr[i].onclick=function(){
      resetit();
      this.style.backgroundColor="#0f0";
    }
  }
}
function resetit(){
  for (j=0;j<mytr.length;j++){
    mytr[j].style.backgroundColor="#fff"; /*din default-farve*/
  }
}
window.onload=changeit;
</script>

/psc
Avatar billede nico26 Nybegynder
25. maj 2006 - 18:34 #2
Avatar billede nico26 Nybegynder
25. maj 2006 - 18:35 #3
for sent :)
Avatar billede thesurfer Nybegynder
25. maj 2006 - 19:00 #4
Hvorfor ikke bare:

      resetit(this);

og

function resetit(tr){
  tr.style.backgroundColor="#fff"; /*din default-farve*/
}

?

Eller noget i den stil.. :-)
Avatar billede thesurfer Nybegynder
25. maj 2006 - 19:06 #5
Hmm.. ok, ikke helt.. :-)
Avatar billede mclemens Nybegynder
25. maj 2006 - 19:14 #6
fordi at der skal oprettes en forbindelse til script opkaldet på alle tr's hvilket psykochickens første script gør - og herefter skal det tidligere object have nulstillet sin farve ... psykochickens reset script sørger for det ved gennemløb af samtlige trs og nulstilling af baggrundsfarven for hver tr ... en mulig tweak af koden kunne være dette:

<script type="text/javascript">

var cur="";

function changeit(){
mytr = document.getElementsByTagName('tr');
  for (i=0;i<mytr.length;i++){
    mytr[i].onclick=function(){
if(cur!="")cur.style.backgroundColor="#fff"; // din default farve (reset af tidligere click)
      this.style.backgroundColor="#0f0";
cur=this;
    }
  }
}

window.onload=changeit;

</script>
Avatar billede mclemens Nybegynder
25. maj 2006 - 19:15 #7
hov update ... ok :)

- det ville nu være rart med en sådan "der er kommet nye indlæg"
kontrol her på eksperten via. en xmlhttprequest før postning :D
Avatar billede mclemens Nybegynder
25. maj 2006 - 19:18 #8
nico26's script benyttede også gennemløb af alle divs for at lave
switchen mellem to baggrundsfarve på nuværende og tidligere div...
Avatar billede thesurfer Nybegynder
25. maj 2006 - 19:18 #9
Pro-medlemmerne har en lille boks nede i venstre hjørne, der siger: x nye indlæg
hvor "x" er antallet af nye indlæg.
Avatar billede kapoou Nybegynder
25. maj 2006 - 19:36 #10
mange tak for hjælpen alle sammen. Psykochicken smider du et svar nu da du var hurtigts med et splisekund.
Avatar billede mclemens Nybegynder
25. maj 2006 - 19:50 #11
@thesurfer, hmm kan ikke lige se den box
... måske fordi der ikke er nye indlæg p.t. :/
Avatar billede psykochicken Nybegynder
25. maj 2006 - 22:26 #12
kommer her ;o)
Avatar billede thesurfer Nybegynder
25. maj 2006 - 22:58 #13
mclemens> Hvis der ikke er nogen nye indlæg, står der bare: 0 nye indlæg
Hvis der ikke står det, skal du lige sætte hak i "Opdater automatisk antal nye indlæg i spørgsmål" her: http://www.eksperten.dk/konto.phtml?option=prefs

PS: Meningen med mit indlæg 25/05-2006 19:00:49 var at prøve på at fjerne den ekstra loop, der var i den tidligere kode.
Jo færre loops, jo bedre..
Avatar billede mclemens Nybegynder
25. maj 2006 - 23:16 #14
thesurfer>

[ ... Hvis der ikke står det, ... ] Super lækkert tak :)

[ PS: Meningen med ...] Yes, fangede den også - helt enig
og det var også derfor jeg kastede en rettet udgave ind :)
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