# JavaScript Newsticker



## jewi281 (21. Jun 2011)

Folgender Style funktioniert in Firefox tadellos, jedoch scrollt im IE die ganze Seite anstatt nur die News im Ticker. Hat jemand eine Idee, woran es liegen kann?

hier die URL: http://www.repage.de/member/buchholz06f2/

und dies ist der Code:

</style>
  <!--[if IE]>
  <style type="text/css">
  #tickerbox div {
    /* Wichtig: Angabe der Größe des Scrollbereichs auf die
       eigenen Bedürfnisse anpassen - wird von IEs benötigt */
    height:400px;
  }
  </style>
  <![endif]-->
  <div id="tickerbox"><div>
    <h1>Termine</h1>
    <p>&nbsp;</p>

    <p>
      Nächstes Training 21.06.2011 17:00 Uhr Platzanlage
    </p>
    <hr>
    <p>&nbsp;</p>
    <p>
      Nächstes Spiel 02.07.2011 Beginn 12 Uhr Infos folgen
    </p>
    <hr>
    <p>&nbsp;</p>

    <p>
      09.07.2011 Freunschaftsspiel geplant
    </p>
    <hr>
    <p>&nbsp;</p>
    <p>
      30.08.2011 Trainingsauftakt Saison 2011/2012
    </p>
    <hr>
    <p>&nbsp;</p> 
    <h1>News</h1>

    <p>&nbsp;</p>
    <p>
      NEU: Das Fotoalbum im neuen Design und mit aktuellen Fotos! <a href="http://www.repage.de/member/buchholz06f2/viktoriaindoor2008.html">KLICK </a>
    </p>
    <hr>
    <p>&nbsp;</p>
    <h1>D2 ist Vizemeister</h1>

    <p>&nbsp;</p>
    <p>
      Das letzte Spiel gegen VfB Speldorf (98er Jahrgang) gewannen unsere Jungs mit 2:1 In einem äußerst spannenden Spiel ging Buchholz verdient mit 1:0 in Führung, nachdem einige Chancen vergeben wurden. Etwa Mitte der zweiten Halbzeit gelang den Speldorfern nach einem sehenswerten Flügelangriff der Ausgleich. Es dauerte allerdings nicht lange bis Buchholz durch einen sensationellen Schuss aus 20 Metern erneut in Führung ging. Nun wurde es ein wenig ruppig, dennoch konnten unsere Jungs das 2:1 über die Zeit retten.
    </p>
    <hr>
    <p>&nbsp;</p>
    <h1>Sonstiges</h1>
    <p>&nbsp;</p>
    <p>

      99'er Talente gesucht Info <a href="http://www.repage.de/member/buchholz06f2/99erkickergesucht.html">KLICK</a>
    </p>

  </div></div>
  <script language="javascript" type="text/javascript">
  <!-- // JavaScript-Bereich für ältere Browser auskommentieren
  // IEs brauchen definierte Variablen
  if (!window.getComputedStyle) {
    var tickerbox;
    var inter;
    var mtop;
    var tickerboxheight;
    var tickerheight;
  }

  // Funktion scrollt Tickermeldungen zyklisch von unten nach oben
  function scroll () {
    // Erster Aufruf der Funktion?
    if (typeof mtop == 'undefined') {
      // Element per ID ermitteln
      tickerbox = window.document.getElementById ('tickerbox');
      // Event-Handler für das Mouseover-Event
      // Dieser soll den Scrollvorgang anhalten,
      // wenn der Benutzer mit der Maus über die
      // Tickerbox fährt (etwa um einen Link anzuklicken)
      tickerbox.onmouseover = function () {
        window.clearInterval (inter);
      }
      // Ein weiterer Event-Handler für das Mouseout-Event
      // Dieser setzt den Scrollvorgang fort, wenn der
      // Benutzer die Maus aus dem Tickerbereich herausführt
      tickerbox.onmouseout = function () {
        inter = window.setInterval ('scroll()', 100);
      }
      // Computed Style unterstützt?
      if (window.getComputedStyle) {
        // Größe ermitteln
        var style = document.defaultView.getComputedStyle (tickerbox, null);
        tickerboxheight = parseInt (style.getPropertyValue ('min-height'));
        style = document.defaultView.getComputedStyle (tickerbox.firstChild, null);
        tickerheight = parseInt (style.getPropertyValue ('height'));
      }
      // Wird der IE eingesetzt, dann existiert currentStyle.
      else if (tickerbox.currentStyle) {
        // Auch hier wird die Größe des Tickerdivs ermittelt
        tickerboxheight = parseInt (tickerbox.currentStyle.minHeight);
        tickerheight = parseInt (tickerbox.firstChild.currentStyle.height);
      }
      // Oberer Margin initialisieren
      mtop = tickerboxheight;
    }
    // TopMargin und maximale Höhe des Tickerdivs anpassen
    tickerbox.firstChild.style.marginTop = mtop + 'px';
    tickerbox.firstChild.style.maxHeight = tickerboxheight - mtop-- + 'px';
    // Nach Abstand von 30 Pixel wird wieder von vorne begonnen
    if (mtop + tickerheight == -30)
      mtop = tickerboxheight;
  }

  // Scrollen der Tickerbox starten
  inter = window.setInterval ('scroll()', 60);
  // -->
  </script>


----------



## SlaterB (21. Jun 2011)

Java ist nicht JavaScript


----------



## chalkbag (22. Jun 2011)

Kann du bitte schnell Tags rumbasteln.
Ansonsten denke ich, dass es nicht zwangsweise im Firefox funktioniert. Hast du sowas wie Firebug verwendet, um zu sehen das der JS auch wirklich fehlerfrei ist?

Welche Version hast du vom IE, FF verwendet?


[Edit]
Es ist auch im Firefox fehlerhaft.

Du hast eine Endlosschleife, und wird fortlaufend folgender Fehler geworfen


```
uncaught exception: [Exception... "Could not convert JavaScript argument arg 0 [nsIDOMViewCSS.getComputedStyle]"  nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)"  location: "JS frame :: http://www.repage.de/member/buchholz06f2/_fsrechts.html :: scroll :: line 148"  data: no]
```

getestet mit FF 4.x

--> installiere dir das Plugin für den FF FireBug, dann siehst du sowas sofort


----------

