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