Tablerow van kleur veranderen bij visited links

Pagina: 1
Acties:

  • DumbAss
  • Registratie: April 2002
  • Laatst online: 16-08-2025
Iemand kwam met de volgende vraag:
Is het mogelijk dat als je een link, uit de lijst, aangeklikt hebt dat deze regel dan een iets ander kleurtje krijgt. Op deze manier is het duidelijk waar je gebleven bent als je door de lijst aan het zoeken bent?
Nu leek mij de enige mogelijkheid om dit met javascript te doen.
Ik wilde in php iedere <tr> een andere id geven en de link die in die rij zou staan een javscriptje met de volgende functionaliteit:
Als de link visited is (of misschien een bepaalde kleur?) dan moet de bgcolor van de tr veranderd worden. Maar is het in javascript mogelijk om de 'state' van een link uit te lezen?

Vanutsteen.nl => nerds only | iRacing


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 20:49

Creepy

Tactical Espionage Splatterer

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Vecodo
  • Registratie: Februari 2003
  • Laatst online: 30-01 10:09
als ik het goed begrijp wil je dus de links die bezocht zijn een andere kleur geven ?

als dit de bedoeling is, dan kan je dit heel makkelijk toepassen door middel van CSS

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

roy2001 schreef op maandag 15 augustus 2005 @ 11:15:
als ik het goed begrijp wil je dus de links die bezocht zijn een andere kleur geven ?

als dit de bedoeling is, dan kan je dit heel makkelijk toepassen door middel van CSS
Lees eens goed ;)


TS: je zou eventueel middels onclick the class van je TR kunnen wijzigen. Dmv DOM kan je dan via je onclick-target de bijbehorende TR kunnen opzoeken :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Barracuda_82
  • Registratie: September 2001
  • Laatst online: 19-12-2024

Barracuda_82

mkTime(), not war!

Ik zou het met CSS doen. Ik zou de link zelf (dus de A tag) een 100% width geven zodat ie de hele cell vult. Daarna met padding een hoogte opgeven en dit element een display: block geven. Dan vult de link de hele cell en kun je de visited style een andere achtergrondkleur geven.

Klinkt misschien wazig maar om het te illustreren een stukje CSS uit mijn hoofd:

HTML:
1
2
<tr><td class="link"><a href="http://www.google.nl">Google</a></td></tr>
<tr><td class="link"><a href="http://www.altavista.com">Altavista</a></td></tr>


Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
.link a {
   display: block;
   background-color: #EEEEEE;
   padding: 5px 0 5px 0;
   width: 100%
}
.link a:visited {
   background-color: #E8E8E8;
}


Ik heb het niet getest, maar het zou eens goed kunnen dat dit werkt zo.

  • Vecodo
  • Registratie: Februari 2003
  • Laatst online: 30-01 10:09
BtM909 schreef op maandag 15 augustus 2005 @ 11:22:
[...]

Lees eens goed ;)


TS: je zou eventueel middels onclick the class van je TR kunnen wijzigen. Dmv DOM kan je dan via je onclick-target de bijbehorende TR kunnen opzoeken :)
Lezen is niet me sterkste kant :*) . maar zo te zien zat ik wel half goed ;)

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Barracuda_82 schreef op maandag 15 augustus 2005 @ 11:26:
HTML:
1
2
<tr><td class="link"><a href="http://www.google.nl">Google</a></td></tr>
<tr><td class="link"><a href="http://www.altavista.com">Altavista</a></td></tr>
Maar nu doe je een cel, terwijl TS een tablerow wilt :)

[ Voor 57% gewijzigd door BtM909 op 15-08-2005 11:29 ]

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Barracuda_82
  • Registratie: September 2001
  • Laatst online: 19-12-2024

Barracuda_82

mkTime(), not war!

Hmmm... een TR wordt een beetje lastig op die manier :P

Je kunt dan wel proberen om alle info in 1 cell te batsen, dan werkt het misschien wel. Maar dat zal wel niet gaan. Zul je denk ik toch met JS aan de gang moeten.

[ Voor 12% gewijzigd door Barracuda_82 op 15-08-2005 11:31 ]


  • DumbAss
  • Registratie: April 2002
  • Laatst online: 16-08-2025
Barracuda_82 schreef op maandag 15 augustus 2005 @ 11:26:
Ik zou het met CSS doen. Ik zou de link zelf (dus de A tag) een 100% width geven zodat ie de hele cell vult. Daarna met padding een hoogte opgeven en dit element een display: block geven. Dan vult de link de hele cell en kun je de visited style een andere achtergrondkleur geven.

Klinkt misschien wazig maar om het te illustreren een stukje CSS uit mijn hoofd:

HTML:
1
2
<tr><td class="link"><a href="http://www.google.nl">Google</a></td></tr>
<tr><td class="link"><a href="http://www.altavista.com">Altavista</a></td></tr>


Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
.link a {
   display: block;
   background-color: #EEEEEE;
   padding: 5px 0 5px 0;
   width: 100%
}
.link a:visited {
   background-color: #E8E8E8;
}


Ik heb het niet getest, maar het zou eens goed kunnen dat dit werkt zo.
Dat is idd een mooie oplossing. Echter... :) Het zou de hele tr moeten beslaan en niet een enkele cel.

Mhh, beetje laat met mijn opmerking. Maar is het mogelijk om de kleur / state van een link te checken? Want dat is feitelijk wat ik nodig heb.

[ Voor 15% gewijzigd door DumbAss op 15-08-2005 11:35 . Reden: te laat ]

Vanutsteen.nl => nerds only | iRacing


Verwijderd

Op de website van w3schools staat een handig overzicht van properties van een anchor-opbject:
http://www.w3schools.com/htmldom/dom_obj_anchor.asp

Helaas staat er niet iets bij als visited, dus echt bepalen of een link al eens bezocht is wordt heel lastig, zo niet onmogelijk. Wel is het natuurlijk mogelijk om via onclick de achtergrondkleur van de tablerow te wijzigen, maar na het vernieuwen van de pagina's zijn alle achtergrondkleuren dan weer normaal. Of je moet moeilijk gaan doen door weer in een cookie op te slaan of er al eens op de link geklikt is, maar dat lijkt me wat overdreven..

  • Kippenijzer
  • Registratie: Juni 2001
  • Laatst online: 28-04 20:21

Kippenijzer

McFallafel, nu met paardevlees

Je kunt toch de kleur opvragen? Mits die gewoon afwijkt tussen visited en niet visited kun je toch met een for loopje in js de pagina links doorlopen en als de kleur "niet standaard" is, is hij dus visited. Als je geen uiterlijk kleurverschil wilt, kun je denk ik zelf slecht 1 afwijken (ffffff tov fffffe bijvoorbeeld). Ik *denk* dat je dat gewoon uit kunt lezen, en dus daarnaa kunt handelen...

  • Blue-eagle
  • Registratie: September 2000
  • Niet online
Het kan wel, maar het is wel erg.. vies.. Zonder javascript in ieder geval. Ik weet niet of dit valideerd.

http://www.mobdb.com/got/highlight_visited_table_row.html

Werkt bij mij ook niet in FF, alleen in IE :/

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Test page</title>
<style>
    a:visited tr td { background: #efefef; color: red; }
</style>
</head>

<body>

<table border="1" cellpadding="2" cellspacing="2">
    <a href="http://www.google.com">
        <tr>
            <td>Google</td>
            <td><a href="http://www.google.com">www.google.com</a></td>
        </tr>
    </a>
    
    <a href="http://www.tweakers.net">
        <tr>
            <td>Tweakers</td>
            <td><a href="http://www.tweakers.net">www.tweakers.net</a></td>
        </tr>
    </a>
    
    <a href="http://www.nu.nl">
        <tr>
            <td>Fok!</td>
            <td><a href="http://www.nu.nl">www.nu.nl</a></td>
        </tr>
    </a>
    
</table>

</body>
</html>

[ Voor 33% gewijzigd door Blue-eagle op 15-08-2005 11:58 ]


  • DumbAss
  • Registratie: April 2002
  • Laatst online: 16-08-2025
Blue-eagle schreef op maandag 15 augustus 2005 @ 11:56:
Het kan wel, maar het is wel erg.. vies.. Zonder javascript in ieder geval. Ik weet niet of dit valideerd.

http://www.mobdb.com/got/highlight_visited_table_row.html

Werkt bij mij ook niet in FF, alleen in IE :/

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Test page</title>
<style>
    a:visited tr td { background: #efefef; color: red; }
</style>
</head>

<body>

<table border="1" cellpadding="2" cellspacing="2">
    <a href="http://www.google.com">
        <tr>
            <td>Google</td>
            <td><a href="http://www.google.com">www.google.com</a></td>
        </tr>
    </a>
    
    <a href="http://www.tweakers.net">
        <tr>
            <td>Tweakers</td>
            <td><a href="http://www.tweakers.net">www.tweakers.net</a></td>
        </tr>
    </a>
    
    <a href="http://www.nu.nl">
        <tr>
            <td>Fok!</td>
            <td><a href="http://www.nu.nl">www.nu.nl</a></td>
        </tr>
    </a>
    
</table>

</body>
</html>
Hèhè :) Als laatste oplossing vind ik dit wel aardig. Maar bij mij doet 'ie het helemaal niet. Noch in IE als in FF.

Vanutsteen.nl => nerds only | iRacing


  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09-2025
Dat word dan waarschijnlijk met javascript aan de slag :)

Maar nog even tussendoor die linkjes staan wel zo dat een tabel MOET gebruikt worden? Met andere woorden: is dit tabulaire data?

  • Savantas
  • Registratie: December 2002
  • Laatst online: 30-04 16:31
Ok, ik sla de vraag over tabulaire data maar even wijselijk over... ;)
Er zijn javascripts die elementen van classes kunnen veranderen. Dan kan je via een onMouseClick zorgen dat de class van een tr veranderd. Verder hoef je dan alleen je CSS aan te vullen. Iets als:
code:
1
tr.bezocht td { background-color: kleur }

Je zal alleen bij elke link dus het scriptje aan moeten roepen.
Maar als het dynamisch (php/asp/...) gebouwt word, kan je misschien via een XMLHttpRequest werken. /me Savantas heeft ergens over gehoord, maar waar de klepel hangt...

Ik denk niet zwart-wit, ik denk diapositief! ( ͡° ͜ʖ ͡°)

Pagina: 1