2016-03-23 3 views
0

Ich habe einen Effekt starten, wenn das Bild, es ist schweben und schieben Sie die verschiedenen Bilder unten, aber wenn ich möchte, dass der Effekt zu stoppen, wenn die Maus gestoppt wird, was wäre die beste Lösung?Stop jquery Effekt, wenn die Maus gestoppt ist

hier jsfiddle mit html - CSS - jQuery-Code

dies ist mein Beispiel

jQuery.noConflict()(function($) { 

    $(document).ready(function() { 
     var timeout; 

     var flipImages = function($container) { 
      var amount = $container.data("amount"); 
      var current = $container.data("current"); 

      if (current >= amount) { 
       current = 1; 
      } else { 
       current = current + 1; 
      } 
      var dataAttr = "image" + current; 
      var image = $container.data(dataAttr); 
      $container.hide(0, function() { 
       $container.css("background-image", "url(" + image + ")"); 
       $container.show(0); 
       $container.data("current", current); 
      }); 
      timeout = setTimeout(function() { 
       flipImages($container); 
      }, 1000) 
     }; 

     $(".ct-image").hover(
      function() { 
       var $that = $(this); 
       timeout = setTimeout(function() { 
        flipImages($that); 
       }, 1000) 
      }, 
      function() { 
       if (timeout) { 
        clearTimeout(timeout); 
       } 
      }); 
    }); 
}); 
+0

Was meinst du mit „die Maus gestoppt wird“? Meinst du, wenn die Maus ausgezogen ist? Was passiert (oder nicht) mit deinem Code? Erhalten Sie irgendwelche Konsolenfehler? – Technoh

+0

vielleicht mit dieser Funktion .stop()? – Greg

+0

Ich möchte den Effekt nur aktivieren, wenn ich die Maus auf mein Bild bewege, also wenn ich ein Bild schwebe und die Maus nicht bewege, will ich den Effekt, dass es gestoppt – Armando

Antwort

2

Sie können das 'mousemove-' Ereignis mit jQuery

$('.ct-image').mousemove(function(){ 
    //your code here 
}); 

Hier mousemove- 'Veranstaltung wird nur ausgelöst, wenn Sie Ihre Maus auf das Bild bewegen. Wenn Sie mit dem Verschieben aufhören, wird kein Ereignis ausgelöst.

Sie können das Dokument hier überprüfen: https://api.jquery.com/mousemove/

Prost

+0

thx für Ihre Zeiten, aber nicht funktioniert:/ – Armando

+0

Wenn ich .mousemove verwende, wird das Ereignis nicht ausgelöst. – Armando

+0

Kannst du deinen ganzen Code (html + css + js) in eine Datei einfügen? Ich werde einen Blick werfen :) – Ben