MrMoogle: Lauftext anhalten

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 !!!

  1. 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

    1. Hallo nochmal,

      unsere Archivsuche, die hier oben rechts auf der Seite verlinkt ist, kennst du doch, oder?

      oben links natürlich ...

      Gruß Gernot

    2. 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

      1. 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

        1. 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

  2. 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

  3. 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

    --
    „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
    1. 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

      1. 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

        --
        „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)