javascript td als link

Status
Niet open voor verdere reacties.

JPeetje

Terugkerende gebruiker
Lid geworden
30 nov 2002
Berichten
2.540
hallow :)
ik heb een tabel, en in die tabel staat een link die verkleurt als je erover heen gaat...wat ik nu wil, is dat niet alleen wanneer je over die link heengaat, de link verkleurt. Ik wil ook dat wanneer je over de cel heengaat, de celkleur verandert en de cel zelf ook als link gaat werken. ik hoop dat dit duidelijk is :D
weet iemand hoe dat moet ?
 
Je zou in een stylesheet de link een achtergrond kunnen geven en bij hover een andere achtergrondkleur.

a.kleurtje:link {
color: Lime;
background-color: Fuchsia;
}

a.kleurtje:visited {
color: Green;
background-color: Red;
}

a.kleurtje:hover {
color: Yellow;
background-color: Blue;
}


en dan de class "kleurtje" aanroepen
 
<html>
   <head>
      <script language="javascript">
         function RefClicked()
         {
            alert('Nu is er op de link gedrukt');
         }
         function RefMouseOver(elem, b)
         {
            with (document.getElementById('a1'))
            {  
               if (b)
                  style.color = 'red';
               else
                  style.color = 'green';
            }
         }
         function cellChange(elem, b)
         {
            with (document.getElementById('cell1'))
            {
               if (b)
                  style.backgroundColor = 'Aqua';
               else
                  style.backgroundColor = 'white';
            }
         }
         function cellOnClick()
         {
            alert('nu is er op de cell gedrukt');
         }
      </script>
   </head>
   <body>
      <table width="100%" height="100%">
         <tr valign="middle">
            <td align="center">
               <table width="200px" height="200px" ID="Table1" border="1">
                  <tr valign="middle">
                     <td align="center" id="cell1" onmouseover="cellChange(this,true)" 
                                                   onmouseout="cellChange(this,false)" 
                                                   onclick="cellOnClick()">
                        <a href="javascript: RefClicked()" 
                           onmouseover="RefMouseOver(this,true)" 
                           onmouseout="RefMouseOver(this,false)" id="a1">
                           Dit is de enige cell</a>
                     </td>
                  </tr>
               </table>
            </td>
         </tr>
      </table>
   </body>
</html>

Alles wat je wilt zit erin, maar als je het script test, dan zal je zien dat als je op de link drukt, dat de tabel cell ook een click event ontvangt, dus een combinatie van de clickable link en cell is niet handig.

alert kan je natuurlijk ook vervangen naar bijvoorbeeld:

location.href = '';

waar je tussen de '' de url opgeeft
 

Bijlagen

heeel erg bedankt :thumb:
tis nu ff tijd voor me bedje (morgen vroeg op) maar kzal er morgen dan ff naar kijken
heel erg bedankt ;)
 
Hoi,

Je kan natuurlijk ook gewoon onmouseover, onmouseout en onclick gebruiken.

PHP:
<TD onmouseover="this.style.backgroundColor='KLEURTJE';"
 onmouseout="this.style.backgroundColor='KLEURTJE';"
 onclick="window.location.href='URL'">

Succes :)
 
ff paar dagies weg geweest, vandaar ff late reactie :)
japie, da's nog een betere code :D
althans...makkelijker om te onthouden voor als ik ooit weer es nodig heb :D
thanx ;)
 
sorry voor bump

sorry voor de bump, maar ik heb iets moois ontdekt dat werkt voor ie, maar dat ik nog niet werkend heb in andere browsers. Doe de a om de td en voeg wat css toe <a blabla><td style="cursor: pointer;"></td></a>

jammer dat het nog niet werk in andere browsers. Ik wil graag voorkomen dat mensen scrips moeten toestaan... misschien moet ik een eigen topic starten.
 
sorry voor de bump, maar ik heb iets moois ontdekt dat werkt voor ie, maar dat ik nog niet werkend heb in andere browsers. Doe de a om de td en voeg wat css toe <a blabla><td style="cursor: pointer;"></td></a>

jammer dat het nog niet werk in andere browsers. Ik wil graag voorkomen dat mensen scrips moeten toestaan... misschien moet ik een eigen topic starten.

sorry, ik zie al dat een a daar niet valid is... maar ik wil mijn td laten reageren als a zonder dat mijn bezoekers iets moeten toestaan... zoals bij javascript het geval is...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan