ewp: textinhalt durch button gezielt scrollen lassen

hallo liebe leute,

ich habe ein kleines problem bei meinem gebastelten script: und zwar möchte ich den inhalt einer textbox scrollen lassen, wobei die aktionen von buttons aus gesetzt werden.

nun habe ich auch schon ein script, und dass scrollen funktioniert zwar (über onMouseOver) aber der text scrollt nur einen buchstaben und nicht so lange, wie der Mousezeiger über den Button ist.

Wäre echt coll, wenn mir jemand einen Denkanstoß geben könnte od. mir sogar die Lösung offenbaren würde, bin noch ziemlich neu im JS und weiß momentan nicht weiter.

7* Codeanfang */

<html>
<head>
<script>
<!--
var noScroll = true

function Scrollvor() {
 ausjetzt = setInterval(Movevor(),10)
}

function Scrollback() {
 ausjetzt = setInterval(Moveback(),10)
}

function noMove(){
 clearInterval(ausjetzt);
}

function Movevor(){
 var msg1 = document.form.text.value;
  document.form.text.value = msg1.substring(1) + msg1.substring(0,1);
}

function Moveback(){
  var msg2 = document.form.text.value;
  var arr = msg2.split('');
  var msg2 =arr.reverse().join('');
  var text= msg2.substring(1) + msg2.substring(0,1);
  var arr = text.split('');
  var msg2 =arr.reverse().join('');
  document.form.text.value = msg2;
}

//-->
</script>
</head>
<body>

<form name="form">
<input name="text" size=25 value="Hallo Welt - Hallo Welt - Wie geht es dir? ">
</form>

<a href='#' onMouseOver="Scrollvor()" onMouseOut="noMove()">forward</a>
<a href='#' onMouseOver="Scrollback()" on MouseOut="noMove()">back</a>
</body>
</html>

/* Codeende */

Naja, also wäre echt toll wenn mir jemand helfen würde!!!! danke schon mal im voraus!! :=
_______________________________________
ewp hat euch lieb!

  1. nur ein paar Tipps

    <html>
    <head>
    <script>

    ersetze dies bitte durch <script type="text/javascript">

    <!--

    schmeiß diese Zeile bitte raus

    var noScroll = true

    function Scrollvor() {
    ausjetzt = setInterval(Movevor(),10)

    um Movevor() fehlen Anführungszeichen

    }

    function Scrollback() {
    ausjetzt = setInterval(Moveback(),10)

    um Moveback() fehlen Anführungszeichen

    }

    function noMove(){
    clearInterval(ausjetzt);
    }

    function Movevor(){
    var msg1 = document.form.text.value;
      document.form.text.value = msg1.substring(1) + msg1.substring(0,1);
    }

    function Moveback(){
      var msg2 = document.form.text.value;
      var arr = msg2.split('');
      var msg2 =arr.reverse().join('');
      var text= msg2.substring(1) + msg2.substring(0,1);
      var arr = text.split('');
      var msg2 =arr.reverse().join('');
      document.form.text.value = msg2;
    }

    //-->

    schmeiß diese Zeile bitte raus

    </script>

    ...

    1. Hallo ihr zwei, danke für die hilfreiche und schnelle antwort!!

      also das script funktioniert jetzt dank eurer hilfe, nur habe ich
      jetzt noch zwei fragen:

      1. ich brauche die Linkverweise im bodytag damit ich die befehlssteuerung ausführen kann! wie kann ich es denn sonst bewerkstelligen, dass die funktionen bei einer onMouseOver aktion starten?

      2. ich habe einen fehler bei function Scrollback() bzw. Moveback(), da die function nicht unterbrochen wird wenn man vom Button herunterfährt! Hier nochmals mein Code:

      ----

      <html>
      <head>
      <script type="text/javascript">

      function Scrollvor() {
       scrollstop = setInterval('Movevor()',1)
      }

      function Scrollback() {
       scrollstop = setInterval('Moveback()',1)
      }

      function noScroll(){
       clearInterval(scrollstop);
      }

      function Movevor(){
       var msg1 = document.form.text.value;
        document.form.text.value = msg1.substring(1) + msg1.substring(0,1);
      }

      function Moveback(){
        var msg2 = document.form.text.value;
        var arr = msg2.split('');
        var msg2 =arr.reverse().join('');
        var text= msg2.substring(1) + msg2.substring(0,1);
        var arr = text.split('');
        var msg2 =arr.reverse().join('');
        document.form.text.value = msg2;
      }

      </script>

      </head>
      <body>

      <form name="form">
      <input name="text" size=25 value="Hallo Welt - Hallo Welt - Wie geht es dir? ">
      </form>

      <a href='#' onMouseOver="Scrollvor()" onMouseOut="noScroll()">forward</a>
      <a href='#' onMouseOver="Scrollback()" on MouseOut="noScroll()">back</a>
      </body>
      </html>

      ----

      Danke für eure Hilfe!!

      ______
      ewp hat euch lieb!

      1. Mahlzeit,

        1. ich brauche die Linkverweise im bodytag damit ich die befehlssteuerung ausführen kann! wie kann ich es denn sonst bewerkstelligen, dass die funktionen bei einer onMouseOver aktion starten?

        Nein, brauchst Du nicht. Die Attribute "onmouseover" und "onmouseout" (bitte immer klein schreiben!) stehen bei <http://de.selfhtml.org/html/attribute/eventhandler.htm#uebersicht@title=verschiedenen HTML-Elementen> zur Verfügung.

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
        1. Hallo EKKi

          danke für deine schnelle antwort und für die info! werd ich mir noch genauer anschauen - jetzt funktioniert mein script wunderbar!

          hättest du eine idee wie ich bewerkstelligen könnte, dass der text langsamer gescrollt wird! weil momentan ist er ja super - schnell! wäre nett wenn du mir da noch einmal helfe könntest in welche richtung ich da denken muss!

          [CODE]
          <html>
          <head>
          <script type="text/javascript">

          function Scrollvor() {
           scrollstop = setInterval('Movevor()',1)
          }

          function Scrollback() {
           scrollstop = setInterval('Moveback()',1)
          }

          function noScroll(){
           clearInterval(scrollstop);
          }

          function Movevor(){
           var msg1 = document.form.text.value;
            document.form.text.value = msg1.substring(1) + msg1.substring(0,1);
          }

          function Moveback(){
            var msg2 = document.form.text.value;
            var arr = msg2.split('');
            var msg2 =arr.reverse().join('');
            var text= msg2.substring(1) + msg2.substring(0,1);
            var arr = text.split('');
            var msg2 =arr.reverse().join('');
            document.form.text.value = msg2;
          }

          </script>

          </head>
          <body>

          <form name="form">
          <input name="text" size=25 value="Hallo Welt - Hallo Welt - Wie geht es dir? ">
          </form>

          <a onMouseOver="Scrollvor()" onmouseout="noScroll()">vor</a>
          <a onMouseOver="Scrollback()" onmouseout="noScroll()">zuruck</a>
          </body>
          </html>
          [/CODE]

          Danke, Danke, Danke!
          Lg ewp

          1. Mahlzeit,

            hättest du eine idee wie ich bewerkstelligen könnte, dass der text langsamer gescrollt wird! weil momentan ist er ja super - schnell! wäre nett wenn du mir da noch einmal helfe könntest in welche richtung ich da denken muss!

            http://de.selfhtml.org/javascript/objekte/window.htm#set_interval@title=RTFM ... :-)

            function Scrollvor() {
            scrollstop = setInterval('Movevor()',1)
            }

            function Scrollback() {
            scrollstop = setInterval('Moveback()',1)
            }

            Du musst nicht immer den kompletten Quellcode posten, wenn sich nur Kleinigkeiten oder sogar gar nichts geändert hat ...

            MfG,
            EKKi

            --
            sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
            1. Hey, das ist ja supercool!

              Danke EKKi, hast mir sehr weitergeholfen, ich stell schon manchmal
              gedankenlose fragen! - da hätte ich auch draufkommen können! naja,
              somit ist das problem gelöst!!! - danke, danke!
              lg Emanuel

  2. Mahlzeit,

    7* Codeanfang */

    <html>

    Es fehlt eine http://de.selfhtml.org/html/referenz/varianten.htm@title=Dokumenttyp-Deklaration.

    <head>
    <script>

    Es fehlt das <http://de.selfhtml.org/html/referenz/attribute.htm#script@title=zwingend erforderliche "type"-Attribut>.

    <!--

    Javascript mittels HTML-Kommentare zu "verstecken" ist vorsintflutliche "Technologie" des letzten Jahrtausends.

    function Scrollvor() {
    ausjetzt = setInterval(Movevor(),10)
    }

    function Scrollback() {
    ausjetzt = setInterval(Moveback(),10)
    }

    Wenn Du hier die <http://de.selfhtml.org/javascript/objekte/window.htm#set_interval@title=richtige Syntax> benutztest, würdest Du jeweils einen Intervall setzen, der alle 20 ms die genannte Funktion ausführt.

    <a href='#' onMouseOver="Scrollvor()" onMouseOut="noMove()">forward</a>
    <a href='#' onMouseOver="Scrollback()" on MouseOut="noMove()">back</a>

    Wozu benutzt Du hier Links? Links sind dazu da, um einen Verweis auf etwas (in der Regel eine andere Datei/Ressource) zu setzen, die der Benutzer mittels Klick anfordern kann. Hier passiert beim Klick auf die Elemente gar nichts (bzw. es wird nur ein leerer Anker auf der aktuellen Seite angesprungen). Wenn es nur darum geht, einem sonst funktionslosen Stück Text einen Eventhandler zu verpassen, nutze <http://de.selfhtml.org/html/text/bereiche.htm#inline@title=<span>>.

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|