JavaScript clearInterval Beispiel 3: DIV-Element als Ticker (vertikales Scrollen)

  <style type="text/css">
  #tickerbox {
    border:1px solid #ccc;
    width:150px;
    min-height:100px; max-height:100px;
    padding:0 4px;
    overflow:hidden;
    clip:auto;
    text-align:justify;
  }
  #tickerbox div { margin:0; padding:0; }
  #tickerbox h1 {
    font-size:12px;
    margin:0; padding:0;
    font-weight:bold; text-decoration:underline;
  }
  #tickerbox p {
    font-size:10px;
    margin:0; padding:0;
  }
  </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>Ajax Forum</h1>
    <p>
      Ab sofort k&ouml;nne Sie bei uns rund um das Thema Ajax diskutieren.
      In unserem <a href="http://forum.evocomp.de/f9/" title="">Ajax Forum</a> haben Sie die Gelegenheit dazu.
    </p>
    <hr>
    <h1>MySQL Datenbank Forum</h1>
    <p>
      Datenbanken gewinnen bei der Programmierung von Internetseiten zunehmend an Bedeutung.
      Unser neues <a href="http://forum.evocomp.de/f14/" title="">MySQL Forum</a> soll Fragen zur Nutzung der Open-Source-Datenbank kl&auml;ren.
    </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()', 60);
      }
      // 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>

Das vom Script gelieferte Ergebnis wird im folgenden Block dargestellt. Wenn Sie mit der Maus über den Ticker fahren, dann stoppt dieser den Scrollvorgang. Verlassen Sie ihn wieder, so wird das Scrolling fortgesetzt. Auf diese Weise kann der Benutzer evtl. im Ticker enthaltene Links anklicken, ohne dass dies in einer Linkjagt ausartet. Auch kann der Besucher sich durch das Anhalten des Tickers mehr Zeit zum Lesen der Meldungen verschaffen.

Ajax Forum

Ab sofort könne Sie bei uns rund um das Thema Ajax diskutieren. In unserem Ajax Forum haben Sie die Gelegenheit dazu.


MySQL Datenbank Forum

Datenbanken gewinnen bei der Programmierung von Internetseiten zunehmend an Bedeutung. Unser neues MySQL Forum soll Fragen zur Nutzung der Open-Source-Datenbank klären.

Letzte Posts aus unserem Forum

Newsticker zur Darstellung von Nachrichten

Hallo, ich möchte einen Newsticker einbauen und habe auch schon einige Lösungen um Netz gefunden. Das Problem bei diesen Lösungen ist, dass der ... » mehr

von marco am Donnerstag, 12. Februar 2009 11:55 in JavaScript - bisher 18 Antworten
Letzter Beitrag: Freitag, 10. September 2010 21:22 von alm

Hab nochmal den IE bemüht und es sind wieder mal einige Extrawürste für den Dosenbrowser nötig! Jetzt sollte es mit IE 7 funktionieren! Allerdings ... » mehr

Script Schrift vergrößern

Hallo wollte gerade das Script für die Schriftvergrößerung testen, aber irgendwie bekomme ich das nicht hin. Habe eine Joomla Website und dort die ... » mehr

von Gast am Donnerstag, 22. April 2010 13:32 in JavaScript - bisher 1 Antwort
Letzter Beitrag: Donnerstag, 22. April 2010 18:05 von alm

Hallo, damit kann man nicht allzu viel anfangen. Soviel ich weiss kann es zuweilen Probleme mit Tabellen-Layouts geben. Dort werden die ... » mehr

Javascript Schriftengröße: Problem bei URL-Übergabe im IE8

Hallo, ich hab eben das Javascript zur Schriftengröße eingebaut, klappt auch wunderbar auf Firefox, aber der IE 8 hat folgendes Problem: - wenn ich ... » mehr

von horst1234 am Dienstag, 23. Februar 2010 13:06 in JavaScript - bisher 1 Antwort
Letzter Beitrag: Dienstag, 23. Februar 2010 14:07 von horst1234

Ich hab das charset im Header geändert (wie in der beispiel.html), und schon klappt es ... » mehr

Dynamisches einfügen von Zeilen in eine Spalte

Hallo, ich möchte gerne eine Zeile zwischen zwei andere Zeilen einfügen. Leider klappt folgender Versuch noch nicht so richtig. Vielleicht kann mir ... » mehr

von Bluecaspar am Mittwoch, 10. Februar 2010 18:09 in JavaScript - bisher 2 Antworten
Letzter Beitrag: Donnerstag, 11. Februar 2010 10:37 von Bluecaspar

Ja genau, das war der Fehler. Vielen Dank Alex. Hier der korrigierte Code: <html> <head> <title> Test ... » mehr

Fenster in Frame erzeugen

Hallo, ich würde gerne ein Fenster in einer Webseite erzeugen. Das Fenster sollte dabei auf ein Frame begrenzt sein, sich also nicht aus diesen ... » mehr

von Bluecaspar am Dienstag, 9. Februar 2010 13:57 in JavaScript - bisher 2 Antworten
Letzter Beitrag: Mittwoch, 10. Februar 2010 09:32 von Bluecaspar

Ja hervorragend, dass ist genau das was ich möchte. Danke ... » mehr



¬ Insolvenzrecht