Newsticker

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Newsticker

    Bluto SITZ!

    Hallo allerseits!

    Ich bin etwas am verzweifeln mit einem Ticker-Script,
    bei dem ich die Tickermeldungen unterschiedlich
    gestalten kann.

    Ich möchte z.B. Eine Meldung rot und fett anzeigen, die
    nächste schwarz und dünn und wieder eine anderes als
    Link. Und jede Meldung soll natürlch horizontal von rechts
    nach links in einem DIV-Tag nach einander durchlaufen.

    Da ich es jetzt aufgegeben habe (zuviel PHP geschrieben
    und JavaScript fast verlernt) das Script selbst zu
    schreiben, hoffe ich, dass mir hier jemand weiter helfen
    kann. Kennt von euch jemand so ein Script (ohne 50 Zeilen Copyright)

    Danke
    Kaffi
    Errare humanum est

    W32.Schmalle.H@mm

  • #2
    Kann dir leider auch nicht weiterhelfen, wenn du aber ein solches Script gefunden hast, please let me know.

    Danke

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

    Kommentar


    • #3
      Ich habe eine Lösung mit JavaScript, PHP und mySQL gefunden.

      Eine Ticker php mit Quelltext:
      Code:
      # Hier steht der Code für die Abfrage der DB und
      # erstellung der Variablen $text[1 - x]
      # DB-Felder sind HTML_AUF, HTML_ZU, MELDUNG
      # $text[1- x] = "$htmlauf$meldung$htmlzu";
      
      echo "
      function init() {
      i = 0;
      text = new Array();
      text[0] = \"$text0\";
      text[1] = \"$text1\";
      text[2] = \"$text2\";
      text[3] = \"$text3\";
      
      wechsel();
      setInterval(\"wechsel()\", 5000)
      }
      
      function wechsel() {
      if( document.layers) {
      with (document.Ticker.document) {
      open(\"text/html\");
      write(text[i]);
      close();
      }
      } else document.getElementById(\"Ticker\").innerHTML = text[i];
      i++;
      if (i>=text.length) i=0;
      }
      ";
      Aufruf dann:
      <head>
      ....
      <script language="JavaScript" src="ticker.php"></script>
      </head>
      <BODY onload="init()">
      ....
      <div id="Ticker"></div>
      ....
      Kaffi
      Errare humanum est

      W32.Schmalle.H@mm

      Kommentar


      • #4
        Ich würde noch zwei Änderungen am Script vorschlagen

        Code:
        function wechsel() {
        if( document.layers) {
          with (document.Ticker.document) {
            open(\"text/html\");
            write(text[i]);
            close();
          }
        }
        
        //Änderung
        else if(document.all) document.all[\"Ticker\"].innerHTML = text;
        
        else document.getElementById(\"Ticker\").innerHTML = text[i];
        i++;
        if (i>=text.length) i=0;
        }
        ";
        Somit kann auch der IE4 (der noch keine DOM-Syntax versteht) ebenfalls den Newsticker-Text ändern.

        Damit NS4.x auf einen Layer zugreifen kann, muss ein DIV absoult positioniert werden (in manchen Fällen funktioniert auch relative Positonierung). Also

        <div id="Ticker" style="position:absolute;"></div>

        nur noch mal der Sicherheit halber erwähnt, ich vergesse es in letzter Zeit ständig. Genauso oft wie ich gerne die Existenz des NS4.x vergessen würde, aber es ihn gibt halt (noch ).

        Kommentar


        • #5
          Hallo !

          An welcher Stelle muß ich die Daternbank abfrage stellen, damit der Text aus der Datenbank gelesen wird?

          Das bekomme ich irgendwie nicht hin.

          Gruß
          ProfOli

          Kommentar


          • #6
            Somit kann auch der IE4 (der noch keine DOM-Syntax versteht) ebenfalls den Newsticker-Text ändern.
            ach, auch der IE4 - und was ist mit aktuellen mozillas/ netscapes?

            die können nämlich mit innerHTML mal gar nix anfangen - und die sind inzwischen auf jeden fall wichtiger, als ein IE4.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Code:
              var NS6 = (!document.all && document.getElementById) ? true : false;
              var NS = document.layers ? 1:0;
              var IE = document.all ? 1:0;
              var gecko = document.getElementById ? 1:0;
              
              if (NS)
              {
              	x = document.layers[id];
              	text2 = '<p>' + text + '</p>';
              	x.document.open();
              	x.document.write(text2);
              	x.document.close();
              }
              else if (IE)
              {
              	x = document.all[id];
              	x.innerHTML = text;
              }
              else if (gecko)
              {
              	x = document.getElementById(id);
              	x.innerHTML = text;
              }
              geht bei mir einwandfrei
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar

              Lädt...
              X