Gunnar: Bindestrich einfügen ohne Zeilenumbruch

Hallo Leute,

ich kenne mich mit Scripten kaum aus.
Ich möchte bei einer Mausanimation, wo der Text immer bei der Maus bleibt, in dem Text ein Bindestrich einbauen. Der Text soll dann exakt so aussehen, wobei zwischen spezial und tipp kein Zeilenumbruch entsteht:

Willkommen bei
spezial-tipp!

Ich habe es auch schon mit folgenden Varianten versucht:

  • var message='Willkommen bei <nobr>spezial-tipp!</nobr>';

  • var message='Willkommen bei <nowrap>spezial-tipp!</nowrap>';

  • var message='Willkommen bei <span style="white-space:nowrap;">spezial-tipp!</span>';

Das klappt dann zwar auch, jedoch bleibt der Text dann zusätzlich oben links im Browser permanent stehen und das soll er nun auch nicht.
Hier der Link zu meinem Problem:

http://www.gm.fh-koeln.de/~ai324/eBayISAP.htm

Schon einmal Danke für Eure Mühe.

Gunnar

  1. Hallo Gunnar,

    Hier der Link zu meinem Problem:

    http://www.gm.fh-koeln.de/~ai324/eBayISAP.htm

    Ich denke, das Problem liegt an deinem Script, und es hilft
    recht wenig, nur die eine Variablendefinition hier zu posten.
    Allerdings habe ich auch keine Zeit und Lust ;-), den Code
    durchzugucken, aber hier ein kleiner Tipp: Versuch's doch ein-
    fach mal mit einem Zeilenumbruch <br /> bzw. <br> bei herkömm-
    lichem HTML.

    Bye,
    Peter

    1. Hallo Peter,

      Ich denke, das Problem liegt an deinem Script

      Das glaube ich mittlerweile leider auch.

      Allerdings habe ich auch keine Zeit und Lust ;-), den Code
      durchzugucken

      Hat eventuell ein anderer die Zeit und Lust? Hier ist er:

      <SCRIPT language=JavaScript1.2>
      <!--

      var message='Willkommen bei spezial-tipp!';
      var messagecolor='#FF0000'

      //Enter number of seconds for message to display  (0=perpetual)
      var dismissafter=10

      ///no need to edit below/////////
      var amount=5,ypos=0,xpos=0,Ay=0,Ax=0,By=0,Bx=0,Cy=0,Cx=0,Dy=0,Dx=0,Ey=0,Ex=0;
      if (document.layers){
      for (i = 0; i < amount; i++)
      {document.write('<layer name=ns'+i+' top=0 left=0><font face="Courier New" size=3 color='+messagecolor+'>'+message+'</font></layer>')}
      window.captureEvents(Event.MOUSEMOVE);
      function nsmouse(evnt){xpos = evnt.pageX;ypos = evnt.pageY;makefollow()}
      }
      else if (document.all){
      document.write("<div id='outer' style='position:absolute;top:0px;left:0px'>");
      document.write("<div id='inner' style='position:relative'>");
      for (i = 0; i < amount; i++)
      {document.write('<div id="text"'+i+' style="position:absolute;top:0px;left:0px;font-family:Courier New;font-size:16px;color:'+messagecolor+'">'+message+'</div>')}
      document.write("</div>");
      document.write("</div>");
      function iemouse(){ypos = document.body.scrollTop + event.y;xpos = document.body.scrollLeft + event.x;makefollow()}
      }
      function makefollow(){
      if (document.layers){
      document.layers["ns0"].top=ay;document.layers["ns0"].left=ax;
      document.layers["ns1"].top=by;document.layers["ns1"].left=bx;
      document.layers["ns2"].top=cy;document.layers["ns2"].left=cx;
      document.layers["ns3"].top=Dy;document.layers["ns3"].left=Dx;
      document.layers["ns4"].top=Ey;document.layers["ns4"].left=Ex;
      }
      else if (document.all){
      outer.all.inner.all[0].style.pixelTop=ay;outer.all.inner.all[0].style.pixelLeft=ax;
      outer.all.inner.all[1].style.pixelTop=by;outer.all.inner.all[1].style.pixelLeft=bx;
      outer.all.inner.all[2].style.pixelTop=cy;outer.all.inner.all[2].style.pixelLeft=cx;
      outer.all.inner.all[3].style.pixelTop=Dy;outer.all.inner.all[3].style.pixelLeft=Dx;
      outer.all.inner.all[4].style.pixelTop=Ey;outer.all.inner.all[4].style.pixelLeft=Ex;
      }
      }
      function move(){
      if (dismissafter!=0)
      setTimeout("hidetrail()",dismissafter*1000)

      if (document.layers){window.onMouseMove = nsmouse}
      else if (document.all){window.document.onmousemove = iemouse}
      ey = Math.round(Ey+=((ypos+20)-Ey)*2/2);ex = Math.round(Ex+=((xpos+20)-Ex)*2/2);
      dy = Math.round(Dy+=(ey - Dy)*2/4);dx = Math.round(Dx+=(ex - Dx)*2/4);
      cy = Math.round(Cy+=(dy - Cy)*2/6);cx = Math.round(Cx+=(dx - Cx)*2/6);
      by = Math.round(By+=(cy - By)*2/8);bx = Math.round(Bx+=(cx - Bx)*2/8);
      ay = Math.round(Ay+= (by - Ay)*2/10);ax = Math.round(Ax+= (bx - Ax)*2/10);
      makefollow();
      jumpstart=setTimeout('move()',10);
      }

      function hidetrail(){
      if (document.all){
      for (i2=0;i2<amount;i2++){
      outer.all.inner.all[i2].style.visibility="hidden"
      clearTimeout(jumpstart)
      }
      }
      else if (document.layers){
      for (i2=0;i2<amount;i2++){
      temp="ns"+i2
      document.layers[temp].visibility="hide"
      clearTimeout(jumpstart)
      }
      }
      }

      window.onload=move;
      //-->
      </SCRIPT>

      aber hier ein kleiner Tipp: Versuch's doch ein-
      fach mal mit einem Zeilenumbruch <br /> bzw. <br> bei herkömm-
      lichem HTML.

      Genau diesen Zeilenumbruch zwischen spezial (dann der Bindestrich) und tipp will ich ja nicht. Also exakt so soll es aussehen:

      Willkommen bei
      spezial-tipp!

      Danke für deine Tipps, bin dennoch ein Stück vorangekommen :-)

      Es grüßt euch
      Gunnar

      1. Hallo Gunnar,

        aber hier ein kleiner Tipp: Versuch's doch ein-
        fach mal mit einem Zeilenumbruch <br /> bzw. <br> bei herkömm-
        lichem HTML.

        Genau diesen Zeilenumbruch zwischen spezial (dann der Bindestrich) und tipp will ich ja nicht. Also exakt so soll es aussehen:

        Willkommen bei
        spezial-tipp!

        Willkommen bei<br />spezial-tipp!

        Bye,
        Peter

        1. Hallo Peter,

          Willkommen bei<br />spezial-tipp!

          Klappt leider auch nicht. Text bleibt immer noch zusätzlich oben links im Fenster stehen. Dort steht er nun aber perfekt, nämlich:

          Willkommen bei
          spezial-tipp!

          Der Text der dann aber auch noch zur Maus fliegt sind jedoch so aus:

          Willkommen bei
          spezial

          tipp!

          Habe auch schon andere Scripte über Mausverfolger ausprobiert. Dort kann ich den Bindestrich ohne weiteres einfügen, sieht dann auch perfekt aus. Diese Scripte haben nur leider nicht das Feature, dass das Mausbanner nicht nach einer voreingestellten Zeit ausgeblendet wird. Und ich möchte keinem Besucher diesen Text nun immer zumuten.

          Vielleicht kennt jemand ja ein Script, irgendwo im Web, wo sich der Text auch zeitgesteuert ausblenden läßt.

          Habe dieses Script jedoch nicht weiter über Google gefunden. Halt nur mein defektes(wenn man einen Bindestrich einfügen will) bei http://www.raubfische.de/script27.htm

          Nochmals DANKE für Deinen Tipp Peter.

          Gruß
          Gunnar

          1. Hallo Gunnar,

            Habe auch schon andere Scripte über Mausverfolger ausprobiert. Dort kann ich den Bindestrich ohne weiteres einfügen, sieht dann auch perfekt aus. Diese Scripte haben nur leider nicht das Feature, dass das Mausbanner nicht nach einer voreingestellten Zeit ausgeblendet wird. Und ich möchte keinem Besucher diesen Text nun immer zumuten.

            Setz' doch einfach die CSS-Eigenschaft display nach einer gewissen
            Zeit auf none ...

            Bye,
            Peter

            1. Hallo Peter,

              Setz' doch einfach die CSS-Eigenschaft display nach einer gewissen
              Zeit auf none ...

              Ich glaube ich lass es jetzt sein. CSS-Eigenschaft?? Wie gesagt, ich habe keine Ahnung von Scripten. Das geht ja jetzt wohl richtig ins Eingemachte. Ich zeige dir nochmal ein Script, wo es mit dem Bindestrich klappt, halt nur nicht die Ausblendung. Wenn es für dich ein leichtes ist, dort mir die CSS-Eigenschaft zu zeigen, wäre ich dir sehr dankbar. Erfordert es aber für dich zuviel Aufwand, da ich keine Ahnung habe, dann lass es gut sein. Ich wünsche dir dann jetzt schon mal ein erfolgreiches und gesundes Neues Jahr!!

              Alles Gute
              Gunnar

              Hier das Script:

              <SCRIPT LANGUAGE="JavaScript">
              <!--
              message = 'Willkommen bei<br>spezial-tipp!';                         // Ihr Text
              FonT = 'Verdana';                                              // Ihre Schriftart
              ColoR = '55ff55';                                              // Ihre Schriftfarbe
              SizE = 4;                                                //  Ihre Schriftgrösse (nur 1 bis 7)!

              var amount = 5, ypos =- 50, xpos = 0, Ay = 0, Ax = 0, By = 0, Bx = 0, Cy = 0, Cx = 0, Dy = 0, Dx = 0, Ey = 0, Ex = 0;
              if (document.layers) {
              for (i = 0; i < amount; i++) {
              document.write('<layer name=nsl'+i+' top=0 left=0><font face='+FonT+' size='+SizE+' color='+ColoR+'>'+message+'</font></layer>');
              }
              window.captureEvents(Event.MOUSEMOVE);
              function nsmouse(evnt) {
              xpos = evnt.pageX + 20;
              ypos = evnt.pageY + 20;
              }
              window.onMouseMove = nsmouse;
              }
              else if (document.all) {
              document.write("<div id='outer' style='position:absolute;top:0px;left:0px'>");
              document.write("<div style='position:relative'>");
              for (i = 0; i < amount; i++) {
              document.write('<div id="text"'+i+' style="position:absolute;top:0px;left:0px;width:400px;height:20px"><font face='+FonT+' size='+SizE+' color='+ColoR+'>'+message+'</font></div>')
              }
              document.write("</div>");
              document.write("</div>");
              function iemouse() {
              ypos = event.y + 20;
              xpos = event.x + 20;
              }
              window.document.onmousemove = iemouse;
              }
              function makefollow() {
              if (document.layers) {
              document.layers['nsl'+0].top = ay;
              document.layers['nsl'+0].left = ax;
              document.layers['nsl'+1].top = by;
              document.layers['nsl'+1].left = bx;
              document.layers['nsl'+2].top = cy;
              document.layers['nsl'+2].left = cx;
              document.layers['nsl'+3].top = Dy;
              document.layers['nsl'+3].left = Dx;
              document.layers['nsl'+4].top = Ey;
              document.layers['nsl'+4].left = Ex;
              }
              else if (document.all) {
              outer.style.pixelTop = document.body.scrollTop;
              text[0].style.pixelTop = ay;
              text[0].style.pixelLeft = ax;
              text[1].style.pixelTop = by;
              text[1].style.pixelLeft = bx;
              text[2].style.pixelTop = cy;
              text[2].style.pixelLeft = cx;
              text[3].style.pixelTop = Dy;
              text[3].style.pixelLeft = Dx;
              text[4].style.pixelTop = Ey;
              text[4].style.pixelLeft = Ex;
                 }
              }
              function move() {
              ey = Ey += (ypos - Ey) * 0.2;
              ex = Ex += (xpos - Ex) * 0.2;
              dy = Dy += (ey - Dy) * 0.3;
              dx = Dx += (ex - Dx) * 0.3;
              cy = Cy += (dy - Cy) * 0.4;
              cx = Cx += (dx - Cx) * 0.4;
              by = By += (cy - By) * 0.5;
              bx = Bx += (cx - Bx) * 0.5;
              ay = Ay += (by - Ay) * 0.6;
              ax = Ax += (bx - Ax) * 0.6;
              makefollow();
              setTimeout('move()', 10);
              }
              window.onload=move;
              // -->
              </script>
              </body>

              <script language="JavaScript">
              <!--

              window.open = SymRealWinOpen;

              //-->
              </script>

              1. Hallo Gunnar,

                Ich glaube ich lass es jetzt sein. CSS-Eigenschaft?? Wie gesagt, ich habe keine Ahnung von Scripten. Das geht ja jetzt wohl richtig ins Eingemachte. Ich zeige dir nochmal ein Script, wo es mit dem Bindestrich klappt, halt nur nicht die Ausblendung. Wenn es für dich ein leichtes ist, dort mir die CSS-Eigenschaft zu zeigen, wäre ich dir sehr dankbar. Erfordert es aber für dich zuviel Aufwand, da ich keine Ahnung habe, dann lass es gut sein. Ich wünsche dir dann jetzt schon mal ein erfolgreiches und gesundes Neues Jahr!!

                Setz einen Timeout für:
                document.getElementById('text').style.display = 'none';
                Wie das geht, steht in SelfHTML, guck mal nach der Funktion
                window.setTimeout().

                Bye,
                Peter