Thema: Variabler newsticker?

Hi zusammen.<BR>ich bräuchte für meine Website eine art newsticker!<BR>Das ganze soll so fkt, dass die news entweder vertikal oder<BR>horizontal durchscrollen (also automatisch, keine scrollbar oder so)<BR>UNd wenn man mit der maus drüber geht, soll das ganze aufhören zu<BR>scrollen.<BR>Wie kann man das ganze mit Javascript o. DHTML realisieren???<BR>Ich hab sowas bisher eigentlich nur als Applet gesehen.<P>Thx.

GPG key 2E1B4257

Re: Variabler newsticker?

Mit divs.

mfG whitehouse

3

Re: Variabler newsticker?

So genau wollt ichs garnet wissen   [img]images/icons/grin.gif" border="0[/img]   [img]images/icons/grin.gif" border="0[/img] <BR>Mal im ernst:<BR>Wie lass ich das denn flüsig durchlaufen?<BR>Und vor allem soll ja nicht immer nur eine Überschrift zu sehen sein, sondern alles Hintereinander kommen!<BR>Ich denke nicht, dass das mit ein paar divs getan ist!<BR>Das muss irgendwie anders gehen!

GPG key 2E1B4257

Re: Variabler newsticker?

Ne, also du nimmst ne Variable mim Text und schreibst dann mit variable.substr den aktuellen Part hinein. Ausserdem mit setTimOut (od. setTimer) ond den ganzen mouseover mouseout Sachen. EIN div/layer.

mfG whitehouse

5

Re: Variabler newsticker?

Tach erstmal<P>Man braucht gar keine Divs:<P><script language="JavaScript"><BR>var text='Dies ist ein Text, der Mit JavaScript in einem Verweis auftaucht +++ ';<BR>var anfang=0;<BR>var laenge=20;<BR>var intervall;<P>function start()<BR>{<BR>textticker();<BR>intervall=window.setInterval('textticker()',100);<BR>}<P>function textticker()<BR>{<BR>var anzeige='';<P>if (anfang+laenge<=text.length)<BR>   {<BR>   anzeige=text.substr(anfang,laenge);<BR>   anfang++;<BR>   }<BR>else<BR>   {<BR>   anzeige=text.substr(anfang,text.length-anfang);<BR>   anzeige+=text.substr(0,laenge-anzeige.length);<BR>   anfang++;<BR>   }<BR>if (anfang>=text.length) anfang=0;<P>document.getElementById('ticker').innerHTML=anzeige;<BR>}<BR></script><P><body on-Load="start();"><BR><a href="wasweissich.html" id="ticker" onMouseOver="window.clearInterval(intervall);" onMouseOut="textticker(); intervall=window.setInterval('textticker()',100);"></a><p>[ 03.06.2001: Beitrag editiert von: Ti-Sch ]

Bye, Ti-Sch big_smile

6

Re: Variabler newsticker?

Thx.<BR>So in der Art hab ich mir das vorgestellt :-)<BR>Gleich mal testen!

GPG key 2E1B4257

Re: Variabler newsticker?

Na, was aber wenn der Link veränderlich sein soll?

mfG whitehouse

8

Re: Variabler newsticker?

Tach erstmal<P>dann müsstest du den link (das erste Stück des <a>-Tags) auch verändern können:<P><span id="link"><a href="#" id="ticker" onMouseOver="window.clwearInterval(intervall);" onMouseOut="textticker(); intervall=window.setInterval('textticker()',100);"></span></a><P>und dann mit document.getElementById('link').innerHTML='<a href="neu.html" id="link" onMouseOver="window.clearInterval(intervall);" onMouseOut="textticker(); intervall=window.setInterval('textticker()',100);">';

Bye, Ti-Sch big_smile

Re: Variabler newsticker?

Eine OT-Frage @ti-sch: Haste die Spitz-Klammer-Entities genutzt(<>:<> )

mfG whitehouse

10

Re: Variabler newsticker?

Tach auch.<BR>So, nun hab ichs mal ein bissie getestet und mit is dabei in Problem aufgefallen:<BR>Wenn man mehrere Links hintereinander durlaufen lassen will, so wird nur "Plaintext" angezeigt!<BR>Das liegt wohl daran, dass der HTML Qt ja zerstückelt angezeigt wird!<BR>Ich hab das ganze mal ein wenig modifiziert Ihr könnt es euch ja mal ansehen: <BR>(speichert das mal in ner htmldatei und startet es mal!)<P> <BLOCKQUOTE><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><HR><pre>  <P>    <BR><script language="JavaScript"><BR>var text='<a href="news.php?id=22">TEST</a>+++<a href="news.php?id=33">TestII</a>';<BR>var anfang=0;<BR>var laenge=20;<BR>var intervall;<P>function start()<BR>{<BR>textticker();<BR>intervall=window.setInterval('textticker()',100);<BR>}<P>function textticker()<BR>{<BR>var anzeige='';<P>if (anfang+laenge<=text.length)<BR>{<BR>anzeige=text.substr(anfang,laenge);<BR>anfang++;<BR>}<BR>else<BR>{<BR>anzeige=text.substr(anfang,text.length-anfang);<BR>anzeige+=text.substr(0,laenge-anzeige.length);<BR>anfang++;<BR>}<BR>if (anfang>=text.length) anfang=0;<P>document.getElementById('ticker').innerHTML=anzeige;<BR>}<BR></script><BR></head><P><body on-Load="start();textticker(); intervall=window.setInterval('textticker()',100);"><BR><span id="ticker" onMouseOver="window.clearInterval(intervall);" <BR>onMouseOut="textticker(); intervall=window.setInterval('textticker()',100);"></span><P><BR></body><BR></html><P></pre><HR></BLOCKQUOTE><P><BR>Dann versteht man auch besser, was ich meine :-)<p>[ 03.06.2001: Beitrag editiert von: zoro5 ]

GPG key 2E1B4257

11

Re: Variabler newsticker?

Tach erstmal<P>@ whiteheart:<P>Nö, schreib einfach drauf los. Wird wohl vom System automatisch geändert (replace("<","&lt;"), replace(">","&gt;"))<P>@ zoro5:<P>Deshalb kannste ja auch nur einen Link durchlaufen lassen --><BR>[ <A HREF="http://www.devshare.de/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=5&t=002040" TARGET=_blank>Alle mal hier gucken und mir helfen PLZ</A> ]<p>[ 03.06.2001: Beitrag editiert von: Ti-Sch ]

Bye, Ti-Sch big_smile

Re: Variabler newsticker?

Schau mal unter @J|G-the admin. Da is ne HTML Tabelle. Manchmal isses aktiv manchmal net.

mfG whitehouse

13

Re: Variabler newsticker?

Tach erstmal<P>ich hab das ganze noch ein bissl optimiert und jetzt funzt es auch mit 2 Links hintereinander, die außerdem noch in einer unterschiedlichen Farbe sind<P>Der Code:<P><script language="JavaScript"><BR>var ie_5=false;<BR>var ie_6=false;<BR>var nn_6=false;<P>if(document.all && !document.layers && !document.getElementById) ie_5=true;<BR>if(document.getElementById && document.all && !document.layers) ie_6=true;<BR>if(document.getElementById && !document.layers && !document.all) nn_6=true;<P>var anfang=0;<BR>var laenge=30;<BR>var intervall;<P>var status=0;<BR>var text=new Array();<BR>var urls=new Array();<BR>text[0]='+++++|Ich|hab|ein|neues|Script|in|der|JavaScript-Sektion:|Einen|Taschenrechner.|Gucken|Sie|ihn|sich|doch|gleich|mal|an!|+++++';<BR>urls[0]='rechner.html';<BR>text[1]='+++++|Einen|ganz|normaler|Textticker|gibt|es|jetzt|in|der|Download-Rubrik|+++++';<BR>urls[1]='ticker.html';<BR>text[2]='+++++|Ich|hab|einen|kleinen|Passwort-Generator|gebastelt.|Er|generiert|zufällige|Passwörter|zwischen|1-2|und|81-99|Zeichen|länge.|+++++';<BR>urls[2]='passwort_generator.html';<BR>text[3]='+++++|Sie|wollen|ein|eigenes|Kontextmenü|für|ihre|Website?|Hier|finden|sie|eins.|+++++';<BR>urls[3]='menue';<P>function linkticker()<BR>{<BR>var anzeige;<BR>var anzeige_2;<BR>var farbe;<BR>var farbe_2;<BR>var link;<BR>var link_2;<P>if (status%2==0)<BR>   {<BR>   farbe='#FF0000';<BR>   farbe_2='#0000FF';<BR>   }<BR>else<BR>   {<BR>   farbe='#0000FF';<BR>   farbe_2='#FF0000';<BR>   }<P>if (anfang+laenge<=text[status].length)<BR>   {<BR>   anzeige=text[status].substr(anfang,laenge);<BR>   link=urls[status];<BR>   ++anfang;<BR>   if (ie_6 || nn_6)<BR>      {<BR>      document.getElementById('ticker').innerHTML='<a href="'+link+'" onMouseover="stop();" onMouseout="start();" onFocus="blur(this);" style="color:'+farbe+';">'+anzeige+'</a>';<BR>      document.getElementById('ticker_2').innerHTML='';<BR>   }<BR>   if (ie_5)<BR>      {<BR>      document.all['ticker'].innerHTML='<a href="'+link+'" onMouseover="stop();" onMouseout="start();" onFocus="blur(this);" style="color:'+farbe+';">'+anzeige+'</a>';<BR>      document.all['ticker_2'].innerHTML='';<BR>      }<BR>   }<BR>else<BR>   {<BR>   anzeige=text[status].substr(anfang,text[status].length-anfang);<BR>   link=urls[status];<BR>   if (status==text.length-1)<BR>      {<BR>      anzeige_2=text[0].substr(0,laenge-anzeige.length);<BR>      link_2=urls[0];<BR>      }<BR>   else<BR>      {<BR>      anzeige_2=text[status+1].substr(0,laenge-anzeige.length);<BR>      link_2=urls[status+1];<BR>      }<BR>   if (ie_6 || nn_6)<BR>       {<BR>   document.getElementById('ticker').innerHTML='<a href="'+link+'" onMouseover="stop();" onMouseout="start();" onFocus="blur(this);" style="color:'+farbe+';">'+anzeige+'</a>';<BR>   document.getElementById('ticker_2').innerHTML='<a href="'+link_2+'" onMouseover="stop();" onMouseout="start();" onFocus="blur(this);" style="color:'+farbe_2+';">'+anzeige_2+'</a>';<BR>      }<BR>   if (ie_5)<BR>      {<BR>      document.all['ticker'].innerHTML='<a href="'+link+'" onMouseover="stop();" onMouseout="start();" onFocus="blur(this);" style="color:'+farbe+';">'+anzeige+'</a>';<BR>      document.all['ticker_2'].innerHTML='<a href="'+link_2+'" onMouseover="stop();" onMouseout="start();" onFocus="blur(this);" style="color:'+farbe_2+';">'+anzeige_2+'</a>';<BR>      }<BR>   ++anfang;<BR>   }<P>if (anfang>=text[status].length)<BR>   {<BR>   ++status;<BR>   anfang=0;<BR>   }<P>if (status>=text.length)<BR>   status=0;<BR>}<P>function stop() { window.clearInterval(intervall); }<P>function start() { linkticker(); intervall=window.setInterval('linkticker()',150); }<BR></script><P><body onLoad="start();"><P><span id="ticker"></span><span id="ticker_2"></span><P>Viel Spass noch damit !!!<p>[ 07.06.2001: Beitrag editiert von: Ti-Sch ]

Bye, Ti-Sch big_smile

14

Re: Variabler newsticker?

Thx Ti-sch.<BR>Ich muss sagen, dass Teil is einfach nur gut!<BR>Funzt super!!!<BR>   [img]images/icons/grin.gif" border="0[/img]    [img]images/icons/grin.gif" border="0[/img]    [img]images/icons/grin.gif" border="0[/img]<p>[ 05.06.2001: Beitrag editiert von: zoro5 ]

GPG key 2E1B4257

15

Re: Variabler newsticker?

Tach erstmal<P>THX, war mir ein Vergnügen !!!  [img]images/icons/grin.gif" border="0[/img]  [img]images/icons/smile.gif" border="0[/img]  [img]images/icons/cool.gif" border="0[/img]  [img]images/icons/wink.gif" border="0[/img]  [img]images/icons/cool.gif" border="0[/img]  [img]images/icons/smile.gif" border="0[/img]  [img]images/icons/grin.gif" border="0[/img]

Bye, Ti-Sch big_smile

16

Re: Variabler newsticker?

Tach erstmal<P>ich hab noch einen Fehler in dem Script gefunden:<P>Wenn man den letzten Link sehen kann, aber der vorletzte noch nicht verschwunden ist, verweist der letzte Link nur auf "undefined". Das hab ich jetzt behoben. Das Script oben ist übrigends schon so geändert, ihr könnt es einfach per Copy+Paste rauskopieren und benutzen !!!<P>Viel Spass noch !!!  [img]images/icons/grin.gif" border="0[/img]   [img]images/icons/grin.gif" border="0[/img]   [img]images/icons/grin.gif" border="0[/img]

Bye, Ti-Sch big_smile

17

Re: Variabler newsticker?

Jo, das is mir direkt beim ersten Test aufgefallen.<BR>Ich glaub da hat nur ein " gefehlt oder so.<BR>Sonst aber klasse   [img]images/icons/grin.gif" border="0[/img]   [img]images/icons/grin.gif" border="0[/img]   [img]images/icons/grin.gif" border="0[/img]

GPG key 2E1B4257

Re: Variabler newsticker?

Wieso eigentlich IE6? Der 5er kann doch auch schon DOM. Und das "document.all['name']" lässt sich direkt durch "name" ersetzen. Aber das sind ja nur unwichtige Kleinigkeiten.

mfG whitehouse

19

Re: Variabler newsticker?

Tach erstmal<P>der IE 5 kann auch schon document.getElementById ??? Wusste ich gar nicht. (Oder ist es der IE 5.5, und noch nicht der IE 5.0 ???) Das heißt, der IE 4 ist der einzige, der noch mit document.all['ticker'] angesprochen werden muss ???<P>Kann einer mal testen, ob der ie 5 auch bei den Brwoser-Tests als ie_6 identifiziert wird ??? Dann könnte ich das Script nämlich noch mal anpassen.<P><BR>@ zoro5:<P>Nein, da hat kein "Anführungszeichen" gefehlt, es hat was mit der Abfrage bei if (status==text.length-1) zu tun. Da wird überprüft, ob es wieder der erste Text dran ist. Der Text wird ja auch richtig angezeigt. Aber die URL wird einfach mit urls[status+1] ermittelt, und wenn es wieder die erste URL sein muss, wird nur "undefined" zurückgegeben, weil es das Array-Element gar nicht gibt (noch nicht definiert ist). Jetzt hab ich das ganze über variablen gemacht (die variable link_2 ist die, die auch den letzten Link speichert. Wenn es wieder der erste ist, wird der Variable bei der if-Abfrage die erste URL zugewiesen).

Bye, Ti-Sch big_smile

Re: Variabler newsticker?

a) welche minor is mir egal<BR>b) der IE kann weiterhin document.all, spar dir aber die mühsame indizierung ist unnötig, einfach die id direkt schreiben: ticker.eigenschaft

mfG whitehouse