CaptnCrunch: funktion abbrechen ?

hallo..

ich habe da eine php funktion die mir einen ordner ausliest und den inhalt (bilder) in eine tabelle in einen DIV-layer packt..

nun soll der layer per js von rechts nach links laufen..

-----------------------------------------------------------
function init() {
 if(document.getElementById) {
  obj = document.getElementById("pics");
  obj.style.left = 190;

}
 }

function slide() {

if(document.getElementById) {

var anz = "<?php echo $count; ?>";
  var abstand = 190 - (anz*124);

if(parseInt(obj.style.left) > abstand ) {
   obj.style.left = parseInt(obj.style.left) - 2 + "px";
   setTimeout("slide()",20);
   } else {
     obj.style.left = 190;
     slide();
     }
  }
 }
-------------------------------------------------------------

.. so weit so gut.. nun soll das ganze aber stehenbleiben wenn man mir der maus dadrüber ist.. also mit nem eventhandler..

habe das problem dass ich nicht weiss wie man die funktion abbrechen kann.. :/ .. wäre sehr dankbar wenn mir jmd nen tip geben könnte..

p.s. wennich schon dabeibin.. hihi.. da in dem DIR viele bilder sind bekomm ich autromatisch nen horizontalen scrollbalken.. kann man diesen unterdrücken ?? problem hierbei ist dass der vertikale scrollbalken gebraucht wird..

  1. Hallo CaptnCrunch,

    Du könntest eine globale Variable (außerhalb alle Funktionen deklarieren. var isMouseOver = false;. Wenn man nun mit der Maus auf das DIV geht, dann setzt Du diese Variable auf true. Bei Deiner Funktion, die das Layer verschiebt fragst Du nun ab, ob der Wert true oder false ist und handelst entsprechend.

    Mit freundlichem Gruß
    Micha

    1. Hallo CaptnCrunch,

      Du könntest eine globale Variable (außerhalb alle Funktionen deklarieren. var isMouseOver = false;. Wenn man nun mit der Maus auf das DIV geht, dann setzt Du diese Variable auf true. Bei Deiner Funktion, die das Layer verschiebt fragst Du nun ab, ob der Wert true oder false ist und handelst entsprechend.

      Mit freundlichem Gruß
      Micha

      hallo... danke für die antwort.. ya sowas habe ich mir schon gedacht.. leider komm ich damit ein wenig durcheinander. (war in JS schon immer eine niete.. )

      hier der code:

      ______________________________________________________________
      var isMouseOver = false;

      function init() {
       if(document.getElementById) {
        obj = document.getElementById("pics");
        obj.style.left = 190;
        }
       }

      function slide(isMouseOver) {

      if(document.getElementById) {

      var anz = "<?php echo $count; ?>";
        var abstand = 190 - (anz*124);

      if(parseInt(obj.style.left) > abstand ) {

      if (isMouseOver != true) {
         obj.style.left = parseInt(obj.style.left) - 2 + "px";
         }
         setTimeout("slide()",20);

      } else {
           obj.style.left = 190;
           slide(isMouseOver);
           }
        }
        return;

      }

      function slide_go(isMouseOver) {
       isMouseOver = true;
       return;
       }

      function slide_stop(isMouseOver) {
       isMouseOver = false;
       return;
       }

      1. hallo... danke für die antwort.. ya sowas habe ich mir schon gedacht.. leider komm ich damit ein wenig durcheinander. (war in JS schon immer eine niete.. )

        hier der code:

        und wie lautet die Frage?

        Struppi.

        --
        Javascript ist toll (Perl auch!)