Java Ticker mit PHP BB-Code
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
anwenden
ausmalen
bocken
code
dargestellt beitrag
designer
element
genau verstehen
http
nachdenken
problem
rest
span
stelle
tabelle
test
text
wissen
wort
zeichen
-
Guten Tag zusammen,
habe mir vorkurzem einen Java Newsticker gebastelt der mit PHPKit funktioniert und den man im Adminbereich einstellen kann.
Dieser Ticker läuft über Java und ist mit einer PHP Variablen integriert.
Nun das Problem: In dem Ticker kann man BB-Code anwenden und sie werden auch angezeigt alles ohne Probleme, blos das was mich nervt ist so: Die Wörter die mit BB editiert wurden werden erst geladen und dann angezeigt rausgescrollt anstatt von anfang an bis zum ende wir bei marquee rausscrollen!
<script language=\"JavaScript1.2\"> // ---> Einstellungen var marqueewidth=$length var marqueeheight=$height var marqueebgcolor=\"$bgcolor\" var marqueespeed=$speed var pauseit=$pause // <--- Einstellungen // ---> Content var marqueecontent=\'$content\' // <--- Content // ---> Speed und Pause prüfen var copyspeed=marqueespeed var pausespeed=(pauseit==0)? copyspeed: 0 var iedom=document.all||document.getElementById if (iedom) document.write(\'<span id=\"temp\" style=\"visibility:hidden;position:absolute;top:-100;left:-1000\">\'+marqueecontent+\'</span>\') var actualwidth=\'\' var cross_marquee, ns_marquee function populate(){ if (iedom){ cross_marquee=document.getElementById? document.getElementById(\"iemarquee\") : document.all.iemarquee cross_marquee.style.left=marqueewidth+8 cross_marquee.innerHTML=marqueecontent actualwidth=document.all? cross_marquee.offsetWidth : document.getElementById(\"temp\").offsetWidth } else if (document.layers){ ns_marquee=document.ns_marquee.document.ns_marquee2 ns_marquee.left=marqueewidth+8 ns_marquee.document.write(marqueecontent) ns_marquee.document.close() actualwidth=ns_marquee.document.width } lefttime=setInterval(\"scrollmarquee()\",20) } window.onload=populate function scrollmarquee(){ if (iedom){ if (parseInt(cross_marquee.style.left)>(actualwidth*(-1)+8)) cross_marquee.style.left=parseInt(cross_marquee.style.left)-copyspeed else cross_marquee.style.left=marqueewidth+8 } else if (document.layers){ if (ns_marquee.left>(actualwidth*(-1)+8)) ns_marquee.left-=copyspeed else ns_marquee.left=marqueewidth+8 } } // ---> Newsticker Darstellung if (iedom||document.layers){ with (document){ document.write(\'<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><td valign=\"middle\">\') if (iedom){ write(\'<div style=\"position:relative;width:\'+marqueewidth+\';height:\'+marqueeheight+\';overflow:hidden\">\') write(\'<div style=\"position:absolute;width:\'+marqueewidth+\';height:\'+marqueeheight+\';background-color:\'+marqueebgcolor+\'\" onMouseover=\"copyspeed=pausespeed\" onMouseout=\"copyspeed=marqueespeed\">\') write(\'<div id=\"iemarquee\" style=\"position:absolute;left:0;top:0\"></div>\') write(\'</div>\') } else if (document.layers){ write(\'<ilayer width=\'+marqueewidth+\' height=\'+marqueeheight+\' name=\"ns_marquee\" bgColor=\'+marqueebgcolor+\'>\') write(\'<layer name=\"ns_marquee2\" left=0 top=0 onMouseover=\"copyspeed=pausespeed\" onMouseout=\"copyspeed=marqueespeed\"></layer>\') write(\'</ilayer>\') } document.write(\'</td></table>\') } } // <--- Newsticker Darstellung </script>
So werden die BB-Codes geparst:
$content=$PARSE->parse($content,1,1,1,1);
und hier in Live falls wer nicht weiß was ich meine:
http://test.designers-heaven.net/wb/ -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
1) Seh ich da kein Stück Java
2) Kannst du das auch ohne große Schreibfehler artikulieren? Ich hab leider nicht genau verstehen können was du ausdrücken willst. Lag vielleicht an den Rechtschreibfehlern. -
ja javascript halt.
Hmm also wenn du auf die Seite gehst wo man den Ticker sieht, und du musst achten wie das fettgedruckte Wort rauskommt. Also nicht nach der reihe von rechts nach links sondern es parst erst das ganze wort und dann erscheint es erst im ticker anstatt einfach rauszuscrollen und irgendwie vorladen.
Du kennst doch bestimmt den marquee code! So soll es auch sliden. -
ja ich kenn den ollen Marke Code, ist hier bei Lima auch im Einsatz. Wenn ich mal nen Ticker genutzt hab, dann hab ich den ganzen Text erstmal mit PHP verarbeitet und dann an eine JavaScript Variable gebunden. Mehr nicht. Ich seh da echt das Problem nicht.
-
hmm...
naja mein problem ist ganz einfach das ich nicht will das das die wörter erst vorladen und dann aufblenden sondern einfach raus sliden in kompletter form -
guck nochmal auf:
http://test.designers-heaven.net/wb/include.php?path=start.php
vielleicht verstehst du es jetzt^^
Beitrag geändert: 10.12.2007 23:53:34 von freddy -
Achso, ja das liegt am HTML Rendering. Du brauchst an der Stelle ein DIV/SPAN Element das über die Tabelle hinausläuft und dann an der Stelle durchgezogen werden muss. Anders geht das nicht zu lösen.
//edit: Natürlich muss das DIV/SPAN Element lang genug sein, das kein Text umbricht, denn genau das passiert derzeit.
Beitrag geändert: 12.12.2007 14:03:37 von evil-devil -
Das Leerzeichen kannst du durch ein & n b s p ; (ohne Leerzeichen zw. & - ;) definieren (zudem kein Zeilenumbruch bei deisem Leerzeichen). Das heißt, das JavaScript erkennt keine Leerzeile und es werden trotzdem der komplette Satz mit Leerzeichen dargestellt.
Beitrag geändert: 12.12.2007 15:18:00 von trueweb -
Hmm, klappt iwie mit div auch nicht davor war span...
@trueweb
um leerzeichen ging es ja nicht -
Hmm, klappt iwie mit div auch nicht davor war span...
@trueweb
um leerzeichen ging es ja nicht
Weil der TExt halt noch immer umbricht -_-
Ich geb es auf in diesem Thread weiter zu posten. Es steht alles drin was man wissen muss und den Rest kann man mit ein bisschen Nachdenken und ausprobieren eigentlich selbst herausfinden. Sry, aber ich hab kein Bock mehr auf das Thema.
-
ja ich habe probiert das in div zu machen aber bricht um.
und du hättest eventuell ein beispiel machen können um zu zeigen wie du das machst -
Letzer Eintrag: Ich hab weiter oben geschrieben, dass das DIV/SPAN Element lang genug sein muss und über die Tabelle hinaus laufen muss. Den Rest, das es absolut positioniert sein muss dafür, kann man sich eigentlich selbst ausmalen. So, genug von mir dazu.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage