Newsticker wird grundlos schneller

DiDiJo

Erfahrenes Mitglied
Hey Leute ....

ich hab mir ne JS / PHP "Funktion" gebastelt um in beliebigten seiten eine Newsbox oder einen Newsticker einzubauen. Ähnlich wie diese Google-Ads. ... ich schreibe irgendwo ein paar zeile JS und zack erscheint an dieser stelle eine newsbox oder der newsticker.

Soweit funktioniert das ganze auch super. Nur der Newsticker macht Probleme da, er meiner Meinung nach immer grundlos schneller und dann wieder langsamer wird:

hier mal ein beispiellink (es geht hier um den Newsticker ganz oben ... der rest sind ja ehh nur boxen)

http://w00ae9bd.dd8328.kasserver.com/newsticker/test.php

Beim ersten Aufruf ist alles In ordnung, bewegt man die Maus über einen link, so wird der newsticker schneller.

Hier mal mein JS Code:

Code:
var TICKER_PAUSED = false;

var a=0
var anzeigen;
var tickerbreite = 617;

var tickerinhalt = document.getElementById('ticker').innerHTML;

function startTicker()
{
	style = eval("document.getElementById('ticker').style");
	
	TickerLinks=tickerinhalt.split("<a");
	for (i=0; i<TickerLinks.length; i++)
	{
			TickerLinksInhalt=eval('TickerLinks['+i+'].split(">")');
			anzeigen+=TickerLinksInhalt[1];
	}
	move();
}

function move()
{
	breite = style.width
	len = breite.length;
	breite = breite.substr(0,len - 2);	
	
	if (!TICKER_PAUSED) {
		a+=2;
		tmp = a * (-1);
		style.left = tmp+"px";
		if (a >= (anzeigen.length*6) )	a = (breite*-1);
		setTimeout('move()',50);
	}
}

startTicker();

und hier der HTML Code
HTML:
    <div style="overflow:hidden;">
        <div id="ticker" onMouseOver="TICKER_PAUSED=true" onMouseOut="TICKER_PAUSED=false;move();" style="position:relative;width:<?=$breite?>px;height:<?=$hoehe?>px;">
            <nobr>
            <?=$ausgabe?>
            </nobr>        
         </div>
     </div>
    <script type="text/javascript" src="/js/newsticker_moving.js" language="javascript"></script>

vlt. findet ja wer den Wurm in meinem JS Code. Das wäre echt suzper
 
Hi,

ich kann da browserübergreifend keine Geschwindigkeitszunahme feststellen, auch nicht nach dem zweiten oder dritten Durchlauf.

mfg Maik
 
das hat sich auch soeben beantzwortet .... irgendwie haben sich vorhin 2 aufrufe der funktion move() quai addiert ... warum weiß ich auch net.

So klappt es nun aber:

JS Code
Code:
var TICKER_PAUSED = false;

var a=0;
var anzeigen;
var tickerTimeOut;

var tickerinhalt = document.getElementById('ticker').innerHTML;


function stopTicker() {
	TICKER_PAUSED=true;
	clearTimeout(tickerTimeOut);
}

function restartTicker() {
	TICKER_PAUSED=false;
	move();	
}

function startTicker()
{
	style = eval("document.getElementById('ticker').style");
	
	TickerLinks=tickerinhalt.split("<a");
	for (i=0; i<TickerLinks.length; i++)
	{
			TickerLinksInhalt=eval('TickerLinks['+i+'].split(">")');
			anzeigen+=TickerLinksInhalt[1];
	}
	move();
}

function move()
{
	breite = style.width
	len = breite.length;
	breite = breite.substr(0,len - 2);	
	
	if (!TICKER_PAUSED) {
		a+=2;
		tmp = a * (-1);
		style.left = tmp+"px";
		if (a >= (anzeigen.length*6) )	a = (breite*-1);
		tickerTimeOut = setTimeout('move()',50);
	}
}

startTicker();
 
Zurück