Avatar billede druen Nybegynder
21. juni 2006 - 00:00 Der er 13 kommentarer og
1 løsning

Firfox og ændre bgcolor og fontcolor

Hej

Jeg har lavet følgende lille script som laver en menu, hvor baggrundsfarven ændrer sig (bliver sort) og teksten går fra at være rød til at være hvid. Det virker perfekt i Explorer, men firefox ændrer ikke tekstfarven, hvorfor?

onmouseover="this.style.cursor='Hand'

Virker heller ikke i Firefox....

<?
$katindex = mysql_query("SELECT * FROM kategori WHERE overkat = '0'");
while($kat = mysql_fetch_array($katindex)) {
?>   

<a onMouseOver="changeRed<?=$kat[id];?>()" onMouseOut="changeBack<?=$kat[id];?>()">
<tr><td OnClick="window.location='http://javascript.internet.com'" onmouseover="this.style.cursor='Hand'; this.bgColor='#000000';" onmouseout="this.style.cursor='default';this.bgColor='#f7f5f7'; " style="border-bottom: #828282 1px solid;"><span style="font-size: 1px" >&nbsp;<br /></span>&nbsp;&nbsp; <a id="katrid<?=$kat[id];?>" href="Home.php?Page=kat&katid=<?=$kat[id];?>" style="text-decoration:none;" class="KatLink"><?=$kat[titel];?></a><span style="font-size: 1px">&nbsp;<br /></span></td></tr>
</a>

<script language="JavaScript">
function changeRed<?=$kat[id];?>() {
document.getElementById('katrid<?=$kat[id];?>').style.color = "#FFFFFF"; }

function changeBack<?=$kat[id];?>() {
document.getElementById('katrid<?=$kat[id];?>').style.color = "#cc0000";}
</script>

<?
}
?>
Avatar billede thesurfer Nybegynder
21. juni 2006 - 00:39 #1
onmouseover="this.style.cursor='Hand' -> style="cursor:pointer"
man kan også bruge style="cursor:hand;cursor:pointer"
Avatar billede psykochicken Nybegynder
21. juni 2006 - 00:55 #2
og farverne:
baggrundsfarve >> this.style.backgroundColor=....
tekstfarve >> this.style.color=...

/psc
Avatar billede mclemens Nybegynder
21. juni 2006 - 02:21 #3
Siden du har der genererer et javascript til hver tr og du har lagt en a href rundt om tr'en... Jeg har implementeret thesurfer's rettelse ... psykochickens rettelse
- Samt rykket rundt på din onmouseover / out så den kom på tr'en istedet ... lavet om på javascriptet så du ikke skal have et javascript outputtet for hver tr ... ved dog ikke om den virker men prøv den ... bemærk javascriptet skal nu kun outputtes en gang.


<script type="text/javascript">
function changeRed(tn) {
tn.getElementsByTagName("a")[0].style.color = "#FFFFFF"; }

function changeBack(tn) {
tn.getElementsByTagName("a")[0].style.color = "#cc0000";}
</script>


// ^ - Den kan evt. indsættes i head sektionen ... eller indhentes seperat med
<script type="text/javascript" src="filnavn.js"></script> og indholdet af script elementet så lægges i filen...


<?
$katindex = mysql_query("SELECT * FROM kategori WHERE overkat = '0'");
while($kat = mysql_fetch_array($katindex)) {
?>


<tr onMouseOver="changeRed(this)" onMouseOut="changeBack(this)"><td OnClick="window.location='http://javascript.internet.com'" onmouseover="this.style.backgroundColor='#000000';" onmouseout="this.style.backgroundColor='#f7f5f7';" style="cursor:pointer;border-bottom: #828282 1px solid;"><span style="font-size: 1px" >&nbsp;<br /></span>&nbsp;&nbsp; <a id="katrid<?=$kat[id];?>" href="Home.php?Page=kat&katid=<?=$kat[id];?>" style="text-decoration:none;" class="KatLink"><?=$kat[titel];?></a><span style="font-size: 1px">&nbsp;<br /></span></td></tr>


<?
}
?>
Avatar billede mclemens Nybegynder
21. juni 2006 - 02:32 #4
En ting mere: Umiddelbart er denne id definering på a href'et ikke nødvændig heller ... det afhænger dog af om et andet script skal bruge id'et eller om du bruger det til at style med via stylesheet også... id="katrid<?=$kat[id];?

<a id="katrid<?=$kat[id];?>" href="Home.php?Page=kat&katid=<?=$kat[id];?>" style="text-decoration:none;" class="KatLink"><?=$kat[titel];?></a>

Evt. rettes til:

<a href="Home.php?Page=kat&katid=<?=$kat[id];?>" style="text-decoration:none;" class="KatLink"><?=$kat[titel];?></a>

... nåh, sovetid :)
Avatar billede druen Nybegynder
21. juni 2006 - 17:04 #5
Mange tak, det virker perfekt!
Avatar billede mclemens Nybegynder
21. juni 2006 - 17:19 #6
Det ligner en 3-splitning,
- kast et svar gutter!
Avatar billede thesurfer Nybegynder
21. juni 2006 - 17:25 #7
Svar :-)
Avatar billede mclemens Nybegynder
21. juni 2006 - 18:46 #8
Umiddelbart tror jeg også vi kan lave størstedelen med css
... men ved ikke om det her er den effekt du ønsker?

- Prøv uden javascriptet med:

- Dette ind i din css:
a.KatLink{
background:#f7f5f7;
color:#c00;
margin-bottom:1px;
border-bottom: #828282 1px solid;
text-decoration:none;
padding-left:12px;
}

a.KatLink:hover{
background:#000000;
color:#fff;
margin-bottom:1px;
border-bottom: #828282 1px solid;
text-decoration:none;
padding-left:12px;
}

Og så denne her:

<?
$katindex = mysql_query("SELECT * FROM kategori WHERE overkat = '0'");
while($kat = mysql_fetch_array($katindex)) {
?>


<tr><td onclick="window.location='http://javascript.internet.com'"><a href="Home.php?Page=kat&katid=<?=$kat[id];?>" class="KatLink"><?=$kat[titel];?></a></td></tr>


<?
}
?>
Avatar billede mclemens Nybegynder
21. juni 2006 - 18:51 #9
(men om det matcher er selvfølgelig lidt et
skud i tågen da jeg ikke har set sitet...)
Avatar billede mclemens Nybegynder
21. juni 2006 - 18:59 #10
Ved dog ikke helt med den onclick - den har ikke rigtig den store effekt der hvor den er ... eller rettere den virker nok ikke der hvor den er sat - så måske skal det lige rettes til - f.eks. flyttes over på a href'en med en return false; foran eller fjernes...? Men jeg glemte egentlig også at rette window.location= til window.location.href=
Avatar billede mclemens Nybegynder
21. juni 2006 - 19:12 #11
Den :hover css del kan egentlig også være en del kortere...
(hvis du nu kunne bruge det css istedet for alle de scripts)

a.KatLink:hover{
background:#000;
color:#fff;
}
Avatar billede psykochicken Nybegynder
21. juni 2006 - 23:37 #12
onclick på tabelcellen, vil kun virke når du klikker i cellen uden for linket....er det meningen ?

hvis ikke....så lad linket fylde 100%, brug css og drop onclick på cellen.

<style type="text/css">
a.Katlink {
  width:100%;
  background:#f7f5f7;
  color:#c00;
}
a.Katlink:hover {
  background:#000;
  color:#fff;
}
</style>

<tr>
  <td>
    <a href="Home.php?Page=kat&katid=<?=$kat[id];?>" class="KatLink"><?=$kat[titel];?></a>
  </td>
</tr>

/psc
Avatar billede psykochicken Nybegynder
21. juni 2006 - 23:38 #13
og et lille svar ;o)
Avatar billede mclemens Nybegynder
25. januar 2007 - 10:44 #14
Tak for point :)

psykochicken og thesurfer ->
http://www.eksperten.dk/spm/758302
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