Marquee-Geschwindigkeit ändern

Status
Für weitere Antworten geschlossen.

mortician

Registered +
Registriert
Juni 2005
Beiträge
715
Also folgender Test.
Ich habe ein - Element mit den angegebenen Attributen scrollamount und scrolldelay.

Dazu habe ich einen submit-Button, der beim Clicken den Wert des scrollDelay Attributes ändern soll.
Das klappt leider nicht ...

es klappt nur kurzzeitig für eine Millisekunde habe ich das Gefühl... danach geht wieder die Uhrsprungsverzögerung "an".

Code:
HTML:
jajajajajajajajajaaaa
jajajajajajajajajaaaa

das klappt nicht!

Allerdings klappt dieses "Vorhaben", wenn ich für das Marquee vorhher kein scrolldelay angebe.

Das wäre dann folgendes:
HTML:
jajajajajajajajajaaaa
jajajajajajajajajaaaa

Würd mich wirklich über schnelle Antworten freuen, da es echt dringend ist ;-)
Hab im nichts gefunden.

´gruß
 
Nach einem Submit wird die Seite neu geladen, mach den Button von Typ Button und nicht Submit, dann müsste es gehen.
 
hey danke erstmal...

da hatte ich auch schon dran gedacht...da hatte ichs mit nem -Element versucht... bei allem das gleiche.

Mir kommt das so vor, als setzt das marquee-element das Attribut scrollDelay nach jeder "Verzögerung" neu.

gruß
 
Ich weiß irgendwie nicht, was du willst.
Da deine Prozedur "faster" heißt, denk ich mir mal, dass du den falschen Wert erhöst.
Das macht es schneller:
Code:
document.getElementById("marq").scrollAmount = 10;
Delay heißt "Verzögerung" und macht den marquee-Text langsamer.

Gruß
Broken Sword
 
Jah hast schon recht.
Ich hab auch gemerkt, dass es mit ScrollAmount schneller geht.

Mit ScrollAmount klappt das Script auch.
Nur mit ScrollDelay nicht.

Warum ich ScrollDelay benutzen will?
Wenn ich den ScrollAmount erhöhe siehts ein wenig "hackelig" aus.
Wenn ich allerdings die Verzögerung niedriger mache, sieht das ganze sehr flüssig aus.

Vllt habter ja auch noch ne Idee worans liegen koennte.

Danke soweit erstmal.
 
hier mal der code aus dem script, was ich benutze (abgeschaut von alternate-attax.de bzw. der alten seite, mittlerweile haben sie es nicht mehr!)

mit tInterval kannst du die geschwindigkeit kontrollieren. Anstatt der Bilder und Links kannst du natürlich beliebigen Inhalt in tItems.push() setzen.

Beispiel des Scripts (Bannerlaufscript) unter psycho-esports.com

Code:
// THIS SCRIPT WAS ORIGINALLY CODED BY ALTERNATE-ATTAX.DE!

//[CDATA[
tImgPath = 'templates/psycho/images/marquee/';
tItems = new Array();

// --- Die News Elemente
tItems.push('');
tItems.push('');
tItems.push('');
tItems.push('');

// --- Delimiter zwischen den einzelnen News
tDelimiter ='        ';

// --- Interval in ms
tInterval = 50;

// --- Stop bei mouseover?true:false
tStop = true;

// --- Falls Leeraum zwischen Items...hier Wert erhoehen...minimum:1
tRepeat = 2;

// --- Rahmen
tBorder = '0';

// --- Breite
tWidth = 627;

// --- Höhe
tHeight = 70;

//--- Abstand des Inhalts(#ticker) zum Rahmen(#marquee), ist absolut posinioniert. 
tXY = 'left:9px;top:5px;';


// --- Linkziele des Tickers im neuen Fenster öffnen?
tLinkNewWin = true;

function tSetTarget( obj ) {
obj.setAttribute( 'target', '_blank' );
}

function tBlurMe() { this.blur(); }

/*
* DER TICKER
*
*/
IE = document.all&&!window.opera;
DOM = document.getElementById&&!IE;

if( DOM || IE ) {
var tGo,
tPos = 0,
tStop = tStop?'onmouseover='clearInterval(tGo)''+ 'onmouseout='tGo=setInterval(\'tTicken()\','+tInterval+')'':'',
tTxt = tDelimiter+tItems.join(tDelimiter),
tItems = tTxt;

for( i = 1; i < tRepeat; ++i ) {
tItems+=tTxt;
}

document.write( '
';width:' + tWidth + 'px;height:' + tHeight + 'px;' + ';'>' +
'
'overflow:hidden;clip:rect(0px '+tWidth+'px '+tHeight+'px 0px)'>'+
'' + tItems + 
'
' );

tObj = IE ? document.all.ticker : document.getElementById( 'ticker' );

if ( tLinkNewWin ) {
if ( ticker = document.getElementById( 'ticker' ) ) {
aTicker = ticker.getElementsByTagName( 'a' );
for( i=0; i < aTicker.length; i++ ) {
aTicker[i].onfocus = tBlurMe;
tSetTarget( aTicker[i] );
} 
}
}

function tTicken() {
tOffset = tObj.offsetWidth/tRepeat;
if( Math.abs( tPos ) > tOffset ) {
tPos = 0;
}
tObj.style.left = tPos + 'px';
tPos = parseInt( tPos ) - 1;
}


}
//]]
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten