onmouseover problem

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Masj
    Medlem
    • 2003-05-26
    • 3

    #1

    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>[/KOD]
  • Jojoxx
    Moderator
    • 2000-06-18
    • 4306

    #2
    Välkommen till wF.

    Detta var inget bra exempel Se längre ner i tråden.
    Last edited by Jojoxx; 2003-05-26, 19:02.
    / Jojoxx

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

    Comment

    • PepeJeria
      Medlem
      • 2003-02-27
      • 779

      #3
      Ä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>
      [/kod]

      Comment

      • dectgap
        Absent friend
        • 2002-09-08
        • 1542

        #4
        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>
        [/kod]

        Comment

        • Jojoxx
          Moderator
          • 2000-06-18
          • 4306

          #5
          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..."

          Comment

          • dectgap
            Absent friend
            • 2002-09-08
            • 1542

            #6
            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 ink{
            color: #00f;
            background-color: #fff;
            }

            .onfocus ink{
            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>[/kod]

            Comment

            • Jojoxx
              Moderator
              • 2000-06-18
              • 4306

              #7
              [citat=dectgap]
              men det blir fortfarande fel eftersom du ändrar alla celler
              [/citat]

              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>
              [/kod]
              Last edited by Jojoxx; 2003-05-26, 19:32.
              / Jojoxx

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

              Comment

              • Peter S
                Medlem
                • 2002-12-15
                • 5484

                #8
                Pseudoklassen ink kan bara appliceras på "a"-element, så för att koden skall fungera kan du -- från dectgaps inlägg -- plocka bort dem.


                Comment

                • Peter S
                  Medlem
                  • 2002-12-15
                  • 5484

                  #9
                  Johan; det skall inte vara några "snuffar" i CSS-klasserna


                  Comment

                  • Jojoxx
                    Moderator
                    • 2000-06-18
                    • 4306

                    #10
                    Känslig liten rackare. Tack för extraparet ögon.
                    / Jojoxx

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

                    Comment

                    • dectgap
                      Absent friend
                      • 2002-09-08
                      • 1542

                      #11
                      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]Aink { color: red }
                      ink { color: red }
                      [/kod]The two selectors above will select the same elements in CSS1.
                      [/citat]

                      Gäller det bara om "ink" står som ensam selector? Fast ink 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 aink{
                      color: #00f;
                      background-color: #fff;
                      }

                      .onfocus aink{
                      color: #f00;
                      background-color: #000;
                      }
                      </style>[/kod]
                      Last edited by dectgap; 2003-05-26, 20:24.

                      Comment

                      • Peter S
                        Medlem
                        • 2002-12-15
                        • 5484

                        #12
                        Jag läste lite för hastigt igenom din förra kod vilket fick mig att tro att ink 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.


                        Comment

                        • dectgap
                          Absent friend
                          • 2002-09-08
                          • 1542

                          #13
                          Jag tänkte inte på att ink bara påverkar obesökta adresser.
                          Med ett enkelt "a" blev det urtjusigt.

                          Tack.

                          Comment

                          • Peter S
                            Medlem
                            • 2002-12-15
                            • 5484

                            #14
                            Även de mest triviala sakerna kan ställa till det ibland:
                            ink påverkar obesökta länkar.
                            :visited besökta länkar.... o.s.v.


                            Comment

                            • Masj
                              Medlem
                              • 2003-05-26
                              • 3

                              #15
                              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 Aink {text-decoration: none}
                              .button A:visited {text-decoration: none}
                              .button A:active {text-decoration: none}
                              .button Aover {text-decoration: none; color: 000000}

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

                              .normal Aink {text-decoration: none; color: 336699;}
                              .normal A:visited {text-decoration: none; color: 336699;}
                              .normal A:active {text-decoration: none; color: 336699;}
                              .normal Aover {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>
                              [/KOD]

                              Comment

                              Working...