Ergebnis 1 bis 6 von 6

Thema: JavaScript-Problem: RollOver funktioniert nicht im firefox

  1. #1
    BazenPe
    Gast

    Standard JavaScript-Problem: RollOver funktioniert nicht im firefox

    ich habe einen javascript code, der im internet explorer wunderbar funktioniert. nur im firefox funzt er nicht
    kann mir vielleicht jemand helfen...

    ich habe schon in diversen foren gelesen, dass es probleme mit dem document.all geben kann, ich weiß aber nicht, wie ich das in meinem fall ändern kann, wenn jemand vielleicht konkreten beispielcode posten könnte wäre ich sehr dankbar.

    hier mein code:
    Code:
    //hier das javascript:
    
      <script language="javascript" type="text/javascript">
        var zaehlera=0, merkera=0, farbena = new Array&#40;&#41;;
        var oldActiveItem = -1;
        farbena&#91;0&#93; = "#C2420F";
        farbena&#91;1&#93; = "#C86435";
        farbena&#91;2&#93; = "#CB7548";
        farbena&#91;3&#93; = "#CE865B";
        farbena&#91;4&#93; = "#D1976E";
        farbena&#91;5&#93; = "#D4A881";
        farbena&#91;6&#93; = "#D7B994";
        farbena&#91;7&#93; = "#DACAA7";
        farbena&#91;8&#93; = "#DDDBBA";
        farbena&#91;9&#93; = "#DFDFC0";
    
        var zeilenzahla = "9";
    
        for &#40;i = 1; i <= zeilenzahla; i++&#41;
        &#123;
          eval&#40;"merkerTa" + i + " = 0"&#41;;
          eval&#40;"zaehlerTa" + i + " = 0"&#41;;
          eval&#40;"xtimerTa" + i + " = null"&#41;;
          eval&#40;"xTa" + i + " = ''"&#41;;
        &#125;
    
        function mOvra&#40;nr&#41;
        &#123;
          if &#40;nr == oldActiveItem&#41; return;
          eval&#40;"zaehlera" + nr + " = 0"&#41;;
          eval&#40;"merkera" + nr + " = 1"&#41;;
          eval&#40;"document.getElementById&#40;"nr"&#41;.bgColor = '" + farbena&#91;0&#93; + "'"&#41;;
        &#125;
    
        function mOuta&#40;nr&#41;
        &#123;
          if &#40;nr == oldActiveItem&#41; return;
          eval&#40;"merkera" + nr + " = 0"&#41;;
          xnra = nr;
          changeColora&#40;xnra&#41;;
        &#125;
    
    
        function changeColora&#40;bereich&#41;
        &#123;
          if &#40;eval&#40;"merkera" + bereich&#41; != 1&#41;
          &#123;
            eval&#40;"xa" + bereich + " = " + bereich&#41;;
            eval&#40;"document.getElementById&#40;"bereich"&#41;.bgColor = farbena&#91;" + eval&#40;'zaehlera' 
    
    + bereich&#41; + "&#93;"&#41;;
            eval&#40;"zaehlera" + bereich + "++"&#41;;
    
            if &#40;eval&#40;"zaehlera" + bereich&#41; <= &#40;farbena.length - 1&#41; && eval&#40;"zaehlera" + 
    
    bereich&#41; > 0&#41;
            &#123;
              eval&#40;"xtimera" + bereich + " = setTimeout&#40;\"changeColora&#40;'" + bereich + "'&#41;\", 
    
    48&#41;"&#41;;
            &#125;
          &#125;
        &#125;
    
        function absLeft&#40;obj&#41;
        &#123;
          if &#40;obj.offsetParent == null&#41;
            return obj.offsetLeft;
          else
             return obj.offsetLeft + absLeft&#40;obj.offsetParent&#41;;
        &#125;
    
        function absTop&#40;obj&#41;
        &#123;
          if &#40;obj.offsetParent == null&#41;
            return obj.offsetTop;
          else
             return obj.offsetTop + absTop&#40;obj.offsetParent&#41;;
        &#125;
      </script>
    
    //hier ein teil des html codes&#58;
    
    <a href="../htm/archiv.htm" target="main">      
        <tr  id="<?php echo $zellenid++ ?>" bgcolor="#DFDFC0" 
    
    align="left"onclick="mClicka&#40;id&#41;;" onmouseover="mOvra&#40;id&#41;;" 
    
    onmouseout="mOuta&#40;id&#41;;" style="border-bottom&#58;solid 1px #DFDFC0; cursor&#58;hand;">
    <td><div  class="menu-level2-na" style="font-size&#58;11px; ">[b]&#58;&#58;<div></td>
    <td><div class="menu-level2-na"> seiten</div></td>
        </tr></a>
    vielen dank für die hilfe.
    achso hier die testseite: www.hisachomes.de/test
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    BazenPe
    Gast

    Standard

    sorry ich hatte hier grad den falschen javascript code gepostet, so ist es richtig:
    Code:
     <script language="javascript" type="text/javascript">
        var zaehlera=0, merkera=0, farbena = new Array&#40;&#41;;
        var oldActiveItem = -1;
        farbena&#91;0&#93; = "#C2420F";
        farbena&#91;1&#93; = "#C86435";
        farbena&#91;2&#93; = "#CB7548";
        farbena&#91;3&#93; = "#CE865B";
        farbena&#91;4&#93; = "#D1976E";
        farbena&#91;5&#93; = "#D4A881";
        farbena&#91;6&#93; = "#D7B994";
        farbena&#91;7&#93; = "#DACAA7";
        farbena&#91;8&#93; = "#DDDBBA";
        farbena&#91;9&#93; = "#DFDFC0";
    
        var zeilenzahla = "9";
    
        for &#40;i = 1; i <= zeilenzahla; i++&#41;
        &#123;
          eval&#40;"merkerTa" + i + " = 0"&#41;;
          eval&#40;"zaehlerTa" + i + " = 0"&#41;;
          eval&#40;"xtimerTa" + i + " = null"&#41;;
          eval&#40;"xTa" + i + " = ''"&#41;;
        &#125;
    
        function mOvra&#40;nr&#41;
        &#123;
          if &#40;nr == oldActiveItem&#41; return;
          eval&#40;"zaehlera" + nr + " = 0"&#41;;
          eval&#40;"merkera" + nr + " = 1"&#41;;
          eval&#40;"document.all." + nr + ".bgColor = '" + farbena&#91;0&#93; + "'"&#41;;
        &#125;
    
        function mOuta&#40;nr&#41;
        &#123;
          if &#40;nr == oldActiveItem&#41; return;
          eval&#40;"merkera" + nr + " = 0"&#41;;
          xnra = nr;
          changeColora&#40;xnra&#41;;
        &#125;
    
    
        function changeColora&#40;bereich&#41;
        &#123;
          if &#40;eval&#40;"merkera" + bereich&#41; != 1&#41;
          &#123;
            eval&#40;"xa" + bereich + " = " + bereich&#41;;
            eval&#40;"document.all." + bereich + ".bgColor = farbena&#91;" + eval&#40;'zaehlera' + bereich&#41; + "&#93;"&#41;;
            eval&#40;"zaehlera" + bereich + "++"&#41;;
    
            if &#40;eval&#40;"zaehlera" + bereich&#41; <= &#40;farbena.length - 1&#41; && eval&#40;"zaehlera" + bereich&#41; > 0&#41;
            &#123;
              eval&#40;"xtimera" + bereich + " = setTimeout&#40;\"changeColora&#40;'" + bereich + "'&#41;\", 48&#41;"&#41;;
            &#125;
          &#125;
        &#125;
    
        function absLeft&#40;obj&#41;
        &#123;
          if &#40;obj.offsetParent == null&#41;
            return obj.offsetLeft;
          else
             return obj.offsetLeft + absLeft&#40;obj.offsetParent&#41;;
        &#125;
    
        function absTop&#40;obj&#41;
        &#123;
          if &#40;obj.offsetParent == null&#41;
            return obj.offsetTop;
          else
             return obj.offsetTop + absTop&#40;obj.offsetParent&#41;;
        &#125;

  3. #3
    Kaiserliche Hoheit
    Registriert seit
    15.07.2005
    Ort
    Hagen (NRW)
    Beiträge
    1.515
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Re: JavaScript-Problem: RollOver funktioniert nicht im firef

    Zitat Zitat von BazenPe
    ich habe schon in diversen foren gelesen, dass es probleme mit dem document.all geben kann, ich weiß aber nicht, wie ich das in meinem fall ändern kann, wenn jemand vielleicht konkreten beispielcode posten könnte wäre ich sehr dankbar.
    document.all ist M$ Syntax - das der Mozilla das nicht kann ist völlig korrekt...

    (Ich hab mir das Javascript nun allerdings nicht angesehen)

    Was soll das JS können?
    Zoggerforum.de Betreuer * Mod @ ibforen.de * Admin @ daoc-ds.de
    ICQ Nummer kann via PN erfragt werden

  4. #4
    BazenPe
    Gast

    Standard

    naja, eigentlich geht es nur darum, dass die beiden Zeilen in denen das document.all vorkommt umgeschrieben werden müssen. ich kenn mich aber leider kaum mit der javascript syntax aus, darum brauche ich hilfe...

    das sind die beiden zeilen:
    eval("document.all." + nr + ".bgColor = '" + farbena[0] + "'");
    eval("document.all." + bereich + ".bgColor = farbena[" + eval('zaehlera' + bereich) + "]");

    das javascript soll die tabellenzellen farbe verändern, wenn man mit der maus darüber geht, kannst du dir hier auch angucken, wenn du mit dem IE surfst: www.hisachomes.de/test

  5. #5
    Forum Guru
    Registriert seit
    14.06.2004
    Ort
    Schleswig-Holstein
    Beiträge
    5.439
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Moin!

    Das sind Microsoft-Spielerein, die funktionieren nur im IE und gehören nicht zum HTML/JavaScript-Standard, deshalb klappt es in Browsern wie dem Firefox nicht. Mozilla hält sich nun mal an die W3C-Vorgaben.

    G.a.d.M.

    Ronald

  6. #6
    BazenPe
    Gast

    Standard

    hi! ja, das ist mir schon klar, dass es so nicht funktioniert, deswegen brauche ich ja auh hilfe, irgendwie muss man dasselbe ja auch w3c-konform hinbekommen... ich hab jetzt zumindest schon mal das document.all ersetzt bekommen durch getElementByID(), aber in der einen Funktion scheint immer noch ein fehler drin zu sein, weiß vielleicht jemand rat???

    Code:
      function mOuta&#40;nr&#41;
        &#123;
          if &#40;nr == oldActiveItem&#41; return;
          eval&#40;"merkera" + nr + " = 0"&#41;;
          xnra = nr;
          changeColora&#40;xnra&#41;;
        &#125;
    
    
        function changeColora&#40;bereich&#41;
        &#123;
          if &#40;eval&#40;"merkera" + bereich&#41; != 1&#41;
          &#123;
            eval&#40;"xa" + bereich + " = " + bereich&#41;;
         document.getElementById&#40;bereich&#41;.style.backgroundColor = 
    
    farbena&#91;window&#91;'zaehlera' + bereich&#93;&#93;; 
            eval&#40;"zaehlera" + bereich + "++"&#41;;
    
            if &#40;eval&#40;"zaehlera" + bereich&#41; <= &#40;farbena.length - 1&#41; && eval&#40;"zaehlera" + 
    
    bereich&#41; > 0&#41;
            &#123;
              eval&#40;"xtimera" + bereich + " = setTimeout&#40;\"changeColora&#40;'" + bereich + "'&#41;\", 
    
    48&#41;"&#41;;
            &#125;
          &#125;
        &#125;

Ähnliche Themen

  1. homepage funktioniert in firefox nicht
    Von behindcrimetape im Forum HTML & CSS Forum
    Antworten: 10
    Letzter Beitrag: 22.09.2007, 18:57
  2. warum funktioniert das Javascript nicht??
    Von randyorton im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 10
    Letzter Beitrag: 28.08.2006, 02:05
  3. fenster schliessen funktioniert nicht (javascript)
    Von beamer im Forum HTML & CSS Forum
    Antworten: 1
    Letzter Beitrag: 10.04.2006, 15:57
  4. Webseite funktioniert mit FireFox nicht!
    Von WaterFox im Forum HTML & CSS Forum
    Antworten: 1
    Letzter Beitrag: 30.07.2005, 20:25
  5. Javascript funktioniert nicht auf Firefox
    Von g-mikee im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 22.06.2005, 02:09

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •