Lauftext anhalten
MrMoogle
- design/layout
Wie kann ich einen Lauftext (<marquee>TEXT</marquee>) dazu bringen, dass der Text in der Mitte dauerhaft stehen bleibt!
Also, wenn ihr wisst: Bitte helft mir !!!
Hallo MrMoogle,
unsere Archivsuche, die hier oben rechts auf der Seite verlinkt ist, kennst du doch, oder?
Die Suche nach den Begriffen "marquee" und "stop" liefert gute Ergebnisse zum Thema, oder gibt es da ein spezielles Problem mit dem "in der Mitte" anhalten?
Gruß Gernot
Hallo nochmal,
unsere Archivsuche, die hier oben rechts auf der Seite verlinkt ist, kennst du doch, oder?
oben links natürlich ...
Gruß Gernot
Hallo nochmal,
(...) oder gibt es da ein spezielles Problem mit dem "in der Mitte" anhalten?
Das gibt es in der Tat, weshalb ich dir nur empfehlen kann, das Marquee-Element mit DHTML nachzubauen, denn Opera und die Gecko-Browser, die zwar das Marquee-Element als solches und auch dessen implizite Methoden start() und stop() mittlerweile unterstützen, können die Eigenschaft scrollLeft des Marquee-Elements nicht auslesen.
Bei Opera könnte man sich da evtl. mit der Eigenschaft offsetLeft eines Kindelements behelfen, aber auch da scheitert der folgende Ansatz dann ebenso wie bei den Geckos ohnehin am fehlenden Eventhandler "onstart" des Marquee-Elements, für das der Eventhandler onload im Body kein guter Ersatz wäre, weil der Ticker bis zu dessen Feuern möglicherweise schon längst losgelaufen ist.
<html>
<head>
<title>Marquee-Element bei zentriertem Inhalt stoppen</title>
<style type="text/css">
[code lang=css]#myMarquee {
background-color:red;
}
#myMarquee span {
background-color:yellow;
padding:0 .5em;
}
</style>
<script type="text/javascript">
function survey (){
with(document.getElementById('myMarquee')){
if(scrollLeft+2*scrollAmount > (offsetWidth+firstChild.offsetWidth)/2){
stop();
window.clearInterval(act);
}
}
}
window.onresize = function () {
with(document.getElementById('myMarquee')){
start();
act=window.setInterval('survey()', scrollDelay);
}
}
</script>
</head>
<body>
<marquee id="myMarquee" onstart="act=window.setInterval('survey()', scrollDelay);
"><span>
Dies ist ein Text, der im IE innerhalb eines Marquee-Elements
nur so weit läuft, bis er zentriert erscheint.</span></marquee>
</body>
</html>
[/code]
Gruß Gernot
Hallo nochmal,
(...) oder gibt es da ein spezielles Problem mit dem "in der Mitte" anhalten?
Das gibt es in der Tat, weshalb ich dir nur empfehlen kann, das Marquee-Element mit DHTML nachzubauen, denn Opera und die Gecko-Browser, die zwar das Marquee-Element als solches und auch dessen implizite Methoden start() und stop() mittlerweile unterstützen, können die Eigenschaft scrollLeft des Marquee-Elements nicht auslesen.
Bei Opera könnte man sich da evtl. mit der Eigenschaft offsetLeft eines Kindelements behelfen, aber auch da scheitert der folgende Ansatz dann ebenso wie bei den Geckos ohnehin am fehlenden Eventhandler "onstart" des Marquee-Elements, für das der Eventhandler onload im Body kein guter Ersatz wäre, weil der Ticker bis zu dessen Feuern möglicherweise schon längst losgelaufen ist.
<html>
<head>
<title>Marquee-Element bei zentriertem Inhalt stoppen</title>
<style type="text/css">
[code lang=css]#myMarquee {
background-color:red;
}#myMarquee span {
background-color:yellow;
padding:0 .5em;
}
> </style>
> <script type="text/javascript">
> ~~~javascript
> function survey (){
> with(document.getElementById('myMarquee')){
> if(scrollLeft+2*scrollAmount > (offsetWidth+firstChild.offsetWidth)/2){
> stop();
> window.clearInterval(act);
> }
> }
> }
>
> window.onresize = function () {
> with(document.getElementById('myMarquee')){
> start();
> act=window.setInterval('survey()', scrollDelay);
> }
> }
</script>
</head>
<body>
<marquee id="myMarquee" onstart="act=window.setInterval('survey()', scrollDelay);
"><span>
Dies ist ein Text, der im IE innerhalb eines Marquee-Elements
nur so weit läuft, bis er zentriert erscheint.</span></marquee>
</body>
</html>
[/code]
Gruß Gernot
schön, aber unter firefox läuft es leider net!!!!!!!!!!!!
mfg mrmoogle
Hallo mrmoogle,
schön, aber unter firefox läuft es leider net!!!!!!!!!!!!
Genau, deshalb sagte ich ja auch:
(...) das Marquee-Element mit DHTML nachzubauen, denn Opera und die Gecko-Browser, die zwar das Marquee-Element als solches und auch dessen implizite Methoden start() und stop() mittlerweile unterstützen, können die Eigenschaft scrollLeft des Marquee-Elements nicht auslesen.
Einen DHTML-Ticker-Nachbau habe ich auch schon versucht, ... und geschafft!
http://forum.de.selfhtml.org/archiv/2005/5/t106821/#m663051
Das kannst du auch!
Gruß Gernot
Hallo,
Wie kann ich einen Lauftext (<marquee>TEXT</marquee>) dazu bringen, dass der Text in der Mitte dauerhaft stehen bleibt!
vielleicht einfach die Tags <marquee> und </marquee> weglassen? ;-)
So long,
Martin
MrMoogle,
Wie kann ich einen Lauftext (<marquee>TEXT</marquee>) dazu bringen,
Die Forumsoftware sollte jedes Posting, das "Lauftext", "marquee" oder "Ticker" enthält, automatisch mit dem Hinweis auf http://www.kommdesign.de/galerie/inhalte/ticker.htm beantworten.
Live long and prosper,
Gunnar
Hallo Gunnar,
Die Forumsoftware sollte jedes Posting, das "Lauftext", "marquee" oder "Ticker" enthält, automatisch mit dem Hinweis auf http://www.kommdesign.de/galerie/inhalte/ticker.htm beantworten.
Ich glaube, Gunnar, im Grunde deines Herzens bist du doch auch ein ganz Verspielter!
Ich meine, du als Musiker, ... !
Musik wird doch auch "oft nicht schön empfunden, weil stets sie mit Geräusch verbunden" ...
Und dass der Ticker zumindest irgendwann stehen bleibt und Ruhe ist, sollte doch in deinem Sinne sein!
Gruß Gernot
Und dass der Ticker zumindest irgendwann stehen bleibt und Ruhe ist, sollte doch in deinem Sinne sein!
Gernot,
Nicht irgendwann, sondern bevor er losläuft.
Was auch auf manche Musik zutrifft: auf Hintergrungmusik auf Webseiten bspw., aber auch auf manches Gedudel im Radio …
Live long and prosper,
Gunnar