webForum webForum sponsras med lina och serverplats av Binero AB

Gå tillbaka   webForum > Utveckling > Webbutveckling > Javascript

Javascript Här diskuteras det som rör Javascript, AJAX, DOM & DHTML.

Svar
 
Trådverktyg Visningsalternativ
Äldre 2003-05-26, 10:08   #1
Masj
Medlem
 
Registrerad: 2003-05-26
Ort: H-sand
Inlägg: 3
Lösningar: 0
meddelande onmouseover problem

Jag har en sida där jag använder tables istället för bilder som knappar. men jag lyckas inte få scriptet jag använder att både byta färgen på både texten och bakgrunden när man drar musen över tabellrutan. jag lyckas att få den att endera ändra bakgrunden eller texten dock inte båda
nån som vet någon lösning?

Kod:
<td width="80" onmouseover="this.style.background='#666666';" onmouseout="this.style.background='#333333';" bgcolor="#333333"><center><A HREF="jagecp.htm" class="xlink"><FONT SIZE="2"><B>Main Page</b></center></a></td>
Masj besöker inte forumet just nu   Svara med citat
Äldre 2003-05-26, 11:38   #2
Jojoxx
Moderator
 
Registrerad: 2000-06-18
Inlägg: 4 195
Lösningar: 246
Välkommen till wF.

Detta var inget bra exempel Se längre ner i tråden.
__________________
/ Jojoxx

"Always remember that you're unique and special, just like everyone else..."

Senast redigerad av Jojoxx, 2003-05-26 klockan 19:02
Jojoxx besöker inte forumet just nu   Svara med citat
Äldre 2003-05-26, 11:45   #3
PepeJeria
Medlem
 
PepeJerias avatar
 
Registrerad: 2003-02-27
Ort: München
Inlägg: 779
Lösningar: 38
Är det inte lite av en overkill att göra såhär? När det räcker med (eller annan variant)
Kod:
<script type="text/javascript">
function swapColor(obj, color)
{
    obj.style.backgroundColor = color;
}
</script>
<span onMouseOver="swapColor(this, 'blue');" onMouseOut="swapColor(this, 'red');">d</span>
PepeJeria besöker inte forumet just nu   Svara med citat
Äldre 2003-05-26, 12:05   #4
dectgap
Absent friend
 
dectgaps avatar
 
Registrerad: 2002-09-08
Ort: Malmö
Inlägg: 1 542
Lösningar: 179
Jag håller med PepeJeria att det är lite onödigt att göra det mer komplicerat än vad som behövs. Dessutom får man genom Jojoxx exempel inte riktigt den effekt som jag tror att Masj önskar, eftersom du ändrar hela css-klassen, istället för att ändra i endast den cell man för musen över.

Jag hade löst det hela så här:
Kod:
<script type="text/javascript">
function changeColors(obj, color, bgcolor){
    obj.style.color = color;
    obj.style.backgroundColor = bgcolor;
}
</script>

...

<table>
 <tr>
  <td onmouseover="changeColors(this,'#fff', '#000')" onmouseout="changeColors(this,'#000', '#fff')">bla</td>
 </tr>
 <tr>
  <td onmouseover="changeColors(this,'#fff', '#000')" onmouseout="changeColors(this,'#000', '#fff')">bla</td>
 </tr>
</table>
dectgap besöker inte forumet just nu   Svara med citat
Äldre 2003-05-26, 17:30   #5
Jojoxx
Moderator
 
Registrerad: 2000-06-18
Inlägg: 4 195
Lösningar: 246
Anledningen till att jag skrev exemplet som jag gjorde och inte den enklare varianten att ändra bara bakgrundsfärgen rak av är att Masj skriver att han vill ändra både bakgrundsfärg och textfärg där åtminstonde delar av innehållet dessutom är länkar. Att bara ändra egenskapen color för cellen kommer inte att ändra färgen på länken.

Därför använde jag en klass istället för att hårdstyra mot ett specifikt element.
__________________
/ Jojoxx

"Always remember that you're unique and special, just like everyone else..."
Jojoxx besöker inte forumet just nu   Svara med citat
Äldre 2003-05-26, 18:18   #6
dectgap
Absent friend
 
dectgaps avatar
 
Registrerad: 2002-09-08
Ort: Malmö
Inlägg: 1 542
Lösningar: 179
Nu förstår jag dig lite bättre, men det blir fortfarande fel eftersom du ändrar alla celler (eller andra element) som använder klassen foo.

Ett annat alternativ, som av någon anledning inte fungerar i IE och Opera:
Kod:
<style type="text/css">
.nofocus :link{
    color: #00f;
    background-color: #fff;
}

.onfocus :link{
    color: #f00;
    background-color: #000;
}
</style>

...

<table>
 <tr>
  <td class="nofocus" onmouseover="this.className='onfocus'" onmouseout="this.className='nofocus'"><a href="#">Länk 1</a></td>
 </tr>
 <tr>
  <td class="nofocus" onmouseover="this.className='onfocus'" onmouseout="this.className='nofocus'"><a href="#">Länk 2</a></td>
 </tr>
</table>
dectgap besöker inte forumet just nu   Svara med citat
Äldre 2003-05-26, 18:59   #7
Jojoxx
Moderator
 
Registrerad: 2000-06-18
Inlägg: 4 195
Lösningar: 246
Citat:
dectgap skrev:
men det blir fortfarande fel eftersom du ändrar alla celler
Ja just det. Jag tänkte nog inte riktigt klart den där tanken

Här är ett annat exempel;

Kod:
<style type="text/css">
.foo { background-color:#333333; color:white; }
.bar { background-color:#666666; color:green; }
</style>
<script language="JavaScript" type="text/javascript">
function sw(obj,cl){
	obj.className=cl;
	var children=obj.childNodes;
	for (var i=0;i<children.length;i++){
		if(children[i].tagName){ children[i].className=cl; }
	}
}

</script>
<table border="1">
<tr><td width="80" onmouseover="sw(this,'bar');" onmouseout="sw(this,'foo');" class="foo"><a href="sida.html" class="foo">Blaj</a></td></tr>
<tr><td width="80" onmouseover="sw(this,'bar');" onmouseout="sw(this,'foo');" class="foo"><a href="sida.html" class="foo">Blaj</a></td></tr>
</table>
__________________
/ Jojoxx

"Always remember that you're unique and special, just like everyone else..."

Senast redigerad av Jojoxx, 2003-05-26 klockan 19:32
Jojoxx besöker inte forumet just nu   Svara med citat
Äldre 2003-05-26, 18:59   #8
Peter S
Medlem
 
Registrerad: 2002-12-15
Ort: Hudiksvall
Inlägg: 5 477
Lösningar: 806
Pseudoklassen :link kan bara appliceras på "a"-element, så för att koden skall fungera kan du -- från dectgaps inlägg -- plocka bort dem.


Peter S besöker inte forumet just nu   Svara med citat
Äldre 2003-05-26, 19:09   #9
Peter S
Medlem
 
Registrerad: 2002-12-15
Ort: Hudiksvall
Inlägg: 5 477
Lösningar: 806
Johan; det skall inte vara några "snuffar" i CSS-klasserna


Peter S besöker inte forumet just nu   Svara med citat
Äldre 2003-05-26, 19:27   #10
Jojoxx
Moderator
 
Registrerad: 2000-06-18
Inlägg: 4 195
Lösningar: 246
Känslig liten rackare. Tack för extraparet ögon.
__________________
/ Jojoxx

"Always remember that you're unique and special, just like everyone else..."
Jojoxx besöker inte forumet just nu   Svara med citat
Äldre 2003-05-26, 20:18   #11
dectgap
Absent friend
 
dectgaps avatar
 
Registrerad: 2002-09-08
Ort: Malmö
Inlägg: 1 542
Lösningar: 179
W3C skriver i CSS1-dokumentationen följande:
Citat:
In CSS1, anchor pseudo-classes have no effect on elements other than 'A'. Therefore, the element type can be omitted from the selector:
Kod:
A:link { color: red }
:link { color: red }
The two selectors above will select the same elements in CSS1.
Gäller det bara om ":link" står som ensam selector? Fast :link finns väl inte som pseudoklass till något annat element än <a> i CSS2 heller?
I och för sig är det skillnad mellan hur W3C skriver att det ska fungera, och hur det i praktiken fungerar i läsarna. Följande funkar nämligen inte heller i IE:
Kod:
<style type="text/css">
.nofocus a:link{
    color: #00f;
    background-color: #fff;
}

.onfocus a:link{
    color: #f00;
    background-color: #000;
}
</style>

Senast redigerad av dectgap, 2003-05-26 klockan 20:24
dectgap besöker inte forumet just nu   Svara med citat
Äldre 2003-05-26, 20:39   #12
Peter S
Medlem
 
Registrerad: 2002-12-15
Ort: Hudiksvall
Inlägg: 5 477
Lösningar: 806
Jag läste lite för hastigt igenom din förra kod vilket fick mig att tro att :link hörde till klasserna onfocus/nofocus. Sorry

Koden fungerar om du i "href"-attributet skriver en obesökt adress. Annars kan man ju göra det enkelt för sig och ta bort den pseudoklassen och bara använda a.


Peter S besöker inte forumet just nu   Svara med citat
Äldre 2003-05-26, 20:49   #13
dectgap
Absent friend
 
dectgaps avatar
 
Registrerad: 2002-09-08
Ort: Malmö
Inlägg: 1 542
Lösningar: 179
Jag tänkte inte på att :link bara påverkar obesökta adresser.
Med ett enkelt "a" blev det urtjusigt.

Tack.
dectgap besöker inte forumet just nu   Svara med citat
Äldre 2003-05-26, 20:54   #14
Peter S
Medlem
 
Registrerad: 2002-12-15
Ort: Hudiksvall
Inlägg: 5 477
Lösningar: 806
Även de mest triviala sakerna kan ställa till det ibland:
:link påverkar obesökta länkar.
:visited besökta länkar.... o.s.v.


Peter S besöker inte forumet just nu   Svara med citat
Äldre 2003-05-26, 21:27   #15
Masj
Medlem
 
Registrerad: 2003-05-26
Ort: H-sand
Inlägg: 3
Lösningar: 0
Okej jag ger er hela koden....

Okej jag blir ganska confusad av detta bäst jag ger er hela koden
så ni ser hur det är uppbyggt.

Jag vill ändra så att sidan kan hantera att ändra färgen på texten samtidigt som bakgrunden som ni ser så fungerar bakgrunden.
Den ändrar färg när man drar musen över men dock är frågan vad jag behöver lägga till för texten... blev lite confusad av alla svar... Tack på förhand =)

Kod:
<HTML>
<HEAD>
<TITLE>TEST PAGE</TITLE>
<style type="text/css">

.button A:link {text-decoration: none}
.button A:visited {text-decoration: none}
.button A:active {text-decoration: none}
.button A:hover {text-decoration: none; color: 000000}

.mailto A:link {text-decoration: none; color: CCCC00;}
.mailto A:visited {text-decoration: none; color: CCCC00;}
.mailto A:active {text-decoration: none; color: CCCC00;}
.mailto A:hover {text-decoration: underline; color: CCCC00;}

.normal A:link {text-decoration: none; color: 336699;}
.normal A:visited {text-decoration: none; color: 336699;}
.normal A:active {text-decoration: none; color: 336699;}
.normal A:hover {text-decoration: underline}

.xlink {cursor:default}

BODY
{ 
scrollbar-base-color: 333333; 
scrollbar-arrow-color: 000000;
scrollbar-darkshadow-color: 000000;
scrollbar-highlight-color: 666666;
scrollbar-track-color: 333333;
} 
</style>
</HEAD>
<BODY BGCOLOR="#444444" TEXT="#666666" LINK="#999999" VLINK="#999999" ALINK="#999999">
<BASEFONT FACE="arial">

	<table align="center" width="640" valign="top" border="0" cellspacing="0" cellpadding="0">
<tr>
<td> <IMG SRC="header.jpg" width="640" height="100">
</td>
</tr>
<tr>
<td height="1" bgcolor="#444444">
</td>
</tr>
<tr>
<td>
<table align="center" width="640" border="0" cellpadding="0" cellspacing="0" bgcolor="#333333">				<tr>					
          <td bgcolor="#000000"> 
            <table align="center" width="640" height="18" border="0" cellspacing="1" cellpadding="0">
<tr>
<span class="button">
</a><A HREF="jagecp.htm">
<td width="80" onmouseover="this.style.background='#666666';" onmouseout="this.style.background='#333333';" bgcolor="#333333" font color="#000000"><center><A HREF="jagecp.htm" class="xlink"><FONT SIZE="2"><B>Main Page</b></center></a></td>
</a><A HREF="jagecp.htm">
<td width="80" onmouseover="this.style.background='#666666';" onmouseout="this.style.background='#333333';" bgcolor="#333333" font color="#000000"><center><A HREF="jagecp.htm" class="xlink"><FONT SIZE="2"><B>News</B></center></A></td>
</a><A HREF="jagecp.htm">
<td width="80" onmouseover="this.style.background='#666666';" onmouseout="this.style.background='#333333';" bgcolor="#333333"><center><A HREF="jagecp.htm" class="xlink"><FONT SIZE="2"><B>Comic</B></center></A></td>
</a><A HREF="jagecp.htm">
<td width="80" onmouseover="this.style.background='#666666';" onmouseout="this.style.background='#333333';" bgcolor="#333333"><center><A HREF="jagecp.htm" class="xlink"><FONT SIZE="2"><B>Stuff</B></center></A></td>
</a><A HREF="jagecp.htm">
<td width="80" onmouseover="this.style.background='#666666';" onmouseout="this.style.background='#333333';" bgcolor="#333333"><center><A HREF="jagecp.htm" class="xlink"><FONT SIZE="2"><B>Links</b></center></a></td>
</a><A HREF="jagecp.htm">
<td width="80" onmouseover="this.style.background='#666666';" onmouseout="this.style.background='#333333';" bgcolor="#333333"><center><A HREF="jagecp.htm" class="xlink"><FONT SIZE="2"><B>Staff</B></center></A></td>
</a><A HREF="jagecp.htm">
<td width="80" onmouseover="this.style.background='#666666';" onmouseout="this.style.background='#333333';" bgcolor="#333333"><center><A HREF="jagecp.htm" class="xlink"><FONT SIZE="2"><B>Forum</B></center></A></td>
</a><A HREF="jagecp.htm">
<td width="80" onmouseover="this.style.background='#666666';" onmouseout="this.style.background='#333333';" bgcolor="#333333"><center><A HREF="jagecp.htm" class="xlink"><FONT SIZE="2"><B>???</B></center></A></td>
</a>
</span>
</tr>
</table>
</td>
</tr>
</table>
</table>			
</table>
<table align="center" width="150" border="0" cellspacing="0" cellpadding="0">
<tr valign="top" bgcolor="#FFFFFF">
<td width="150" height="4" bgcolor="#444444">
</td>
</tr>
</td>
</table>							</table>
<td>
<table align="center" width="638" height="480" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"> 
    <td> <table width="638" height="480" border="0" cellpadding="1" cellspacing="0" bgcolor="#000000">
        <tr> 
          <td><table width="638" height="480" border="0" cellpadding="1" cellspacing="0" bgcolor="#333333" background="bgr.jpg">
              <tr> 
                <td valign="top">
<span class="mailto">
<center><font size="2">-www.3v1l-l33t.tk-</center></font>
</p>
</span>         
</td>
</tr>        
</table>    
</td>
</tr>
</table>
</table>
</BODY>
</HTML>
Masj besöker inte forumet just nu   Svara med citat
Äldre 2003-05-27, 06:47   #16
Jojoxx
Moderator
 
Registrerad: 2000-06-18
Inlägg: 4 195
Lösningar: 246
Kod:
<HTML>
<HEAD>
<TITLE>TEST PAGE</TITLE>
<style type="text/css">
BODY
{ 
scrollbar-base-color: #333333; 
scrollbar-arrow-color: #000000;
scrollbar-darkshadow-color: #000000;
scrollbar-highlight-color: #666666;
scrollbar-track-color: #333333;
background-color:#444444;
font-family:Arial;
} 
a { color:#999999; }
.foo { background-color:#333333; color:#999999; }
.bar { background-color:#666666; color:white; }
</style>
<script language="JavaScript" type="text/javascript">
function sw(obj,cl){
	obj.className=cl;
	var children=obj.childNodes;
	for (var i=0;i<children.length;i++){
		if(children[i].tagName){ children[i].className=cl; }
	}
}
</script>

</HEAD>
<BODY>
	<table align="center" width="640" valign="top" border="0" cellspacing="0" cellpadding="0">
<tr>
<td> <IMG SRC="header.jpg" width="640" height="100">
</td>
</tr>
<tr>
<td height="1" bgcolor="#444444">
</td>
</tr>
<tr>
<td>
<table align="center" width="640" border="0" cellpadding="0" cellspacing="0" bgcolor="#333333">				<tr>					
          <td bgcolor="#000000"> 
            <table align="center" width="640" height="18" border="0" cellspacing="1" cellpadding="0">
<tr>
<td width="80" onmouseover="sw(this,'bar');" onmouseout="sw(this,'foo');" class="foo" align="center"><A HREF="jagecp.htm"><FONT SIZE="2"><B>Main Page</b></a></td>
<td width="80" onmouseover="sw(this,'bar');" onmouseout="sw(this,'foo');" class="foo" align="center"><A HREF="jagecp.htm"><FONT SIZE="2"><B>News</B></A></td>
<td width="80" onmouseover="sw(this,'bar');" onmouseout="sw(this,'foo');" class="foo" align="center"><A HREF="jagecp.htm"><FONT SIZE="2"><B>Comic</B></A></td>
<td width="80" onmouseover="sw(this,'bar');" onmouseout="sw(this,'foo');" class="foo" align="center"><A HREF="jagecp.htm"><FONT SIZE="2"><B>Stuff</B></A></td>
<td width="80" onmouseover="sw(this,'bar');" onmouseout="sw(this,'foo');" class="foo" align="center"><A HREF="jagecp.htm"><FONT SIZE="2"><B>Links</b></a></td>
<td width="80" onmouseover="sw(this,'bar');" onmouseout="sw(this,'foo');" class="foo" align="center"><A HREF="jagecp.htm"><FONT SIZE="2"><B>Staff</B></A></td>
<td width="80" onmouseover="sw(this,'bar');" onmouseout="sw(this,'foo');" class="foo" align="center"><A HREF="jagecp.htm"><FONT SIZE="2"><B>Forum</B></A></td>
<td width="80" onmouseover="sw(this,'bar');" onmouseout="sw(this,'foo');" class="foo" align="center"><A HREF="jagecp.htm"><FONT SIZE="2"><B>???</B></A></td>
</tr>
</table>
</td>
</tr>
</table>
</table>			
</table>
<table align="center" width="150" border="0" cellspacing="0" cellpadding="0">
<tr valign="top" bgcolor="#FFFFFF">
<td width="150" height="4" bgcolor="#444444">
</td>
</tr>
</td>
</table>							</table>
<td>
<table align="center" width="638" height="480" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"> 
    <td> <table width="638" height="480" border="0" cellpadding="1" cellspacing="0" bgcolor="#000000">
        <tr> 
          <td><table width="638" height="480" border="0" cellpadding="1" cellspacing="0" bgcolor="#333333" background="bgr.jpg">
              <tr> 
                <td valign="top">
<center><font size="2">-www.3v1l-l33t.tk-</font></center>
</td>
</tr>        
</table>    
</td>
</tr>
</table>
</table>
</BODY>
</HTML>
Jag korrigerade några html-fel, men du bör köra sidan genom en html-validator med jämna mellanrum. E.v. fel i din html-kod kan nämligen få många "roliga" fel-effekter i dina dhtml-script.
__________________
/ Jojoxx

"Always remember that you're unique and special, just like everyone else..."
Jojoxx besöker inte forumet just nu   Svara med citat
Äldre 2003-05-27, 09:31   #17
Masj
Medlem
 
Registrerad: 2003-05-26
Ort: H-sand
Inlägg: 3
Lösningar: 0
glimten i ögat Tack =)

Tack för hjälpen det har löst sig nu =)
Masj besöker inte forumet just nu   Svara med citat
Äldre 2004-06-11, 13:11   #18
Type
Medlem
 
Registrerad: 2002-03-08
Ort: Linköping
Inlägg: 1 340
Lösningar: 5
*red
Jag gör på ett annat sätt istället...
__________________
min hemsida

Senast redigerad av Type, 2004-06-18 klockan 12:59
Type besöker inte forumet just nu   Svara med citat
Svar
webForum > Utveckling > Webbutveckling > Javascript

Trådverktyg
Visningsalternativ

Forumregler
Du får inte posta nya trådar
Du får inte posta svar
Du får inte bifoga filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är i GMT +1. Klockan är nu 21:46.


Powered by: vBulletin Version 3.8.6
Copyright © webForum