2016-05-24 9 views
0

Ich versuche, einen Zyklus von Hintergrundbildern auf Schwebeflug eines zentralisierten Logos zu tun, und habe jQuery Cycle plugin verwendet.jQuery Cycle Plugin [Zyklus] beendet; Null Elemente durch Selektor

Allerdings bekomme ich diesen Fehler: [Zyklus] zu beenden; Null-Elemente von Selektor gefunden,

Ich habe mir die andere page angesehen, die das gleiche Problem wie ich zu haben scheint, aber es scheint nicht den Fehler zu beheben, den ich habe.

Jede Hilfe wird geschätzt. Vielen Dank. Bitte beachten Sie folgenden Code:

HTML:

<div class="home" href="#"> 
    <a href="#about"> 
     <img id="logo" src="images/home/parableLogo.png"/> 
    </a> 

    <ul class="imgfill"> 
     <li><img src="images/home/1.jpg"></li> 
     <li><img src="images/home/2.jpg"></li> 
     <li><img src="images/home/3.jpg"></li> 
     <li><img src="images/home/4.jpg"></li> 
     <li><img src="images/home/5.jpg"></li> 
    </ul> 
</div> 

JQUERY:

$(document).ready(function(){ 
     // Cycle plugin 
     $('.imgfill').cycle({ 
      fx:  'none', 
      speed: 1, 
      timeout: 70 
     }).cycle("pause"); 

     // Pause & play on hover 
     $('#logo').hover(function(){ 
      $(this).find('.imgfill').addClass('active').cycle('resume'); 
     }, function(){ 
      $(this).find('.imgfill').removeClass('active').cycle('pause'); 
     }); 

    }); 

Test JQUERY folgende andere Benutzer-Lösungen:

$(document).ready(function(){ 
     // Cycle plugin 
     $('.home').load('.imgfill', function(){ 
      $('.imgfill').cycle({ 
      fx:  'none', 
      speed: 1, 
      timeout: 70 
      }).cycle("pause"); 
     }); 


     // Pause & play on hover 
     $('#logo').hover(function(){ 
      $('.home').find('.imgfill').addClass('active').cycle('resume'); 
     }, function(){ 
      $('.home').find('.imgfill').removeClass('active').cycle('pause'); 
     }); 

    }); 
+0

Haben Sie Implementierung versuchen, was die Antwort auf die andere Frage vorgeschlagen? – Li357

+0

versuchen Sie stattdessen $ (this) durch $ ('. Home') zu ersetzen. In diesem Zusammenhang ist $ (this) ein #logo-Element. Inside #logo gibt es keine .imgfill Wähler – AlmasK89

+0

@ AlmasK89 Hallo, vielen Dank dafür. der Fehler ist weg, aber der Zyklus funktioniert nicht, irgendeine Idee warum? – user3453264

Antwort

2

Sie verwenden einen falschen Selektor „$ (this) .find ('. imgfill') "Sie sollten" $ ('. imgfill') "

verwenden
$(document).ready(function(){ 
    // Cycle plugin 
    $('.imgfill').cycle({ 
     fx:  'none', 
     speed: 1, 
     timeout: 70 
    }).cycle("pause"); 

    // Pause & play on hover 
    $('#logo').hover(function(){ 
     $('.imgfill').addClass('active').cycle('resume'); 
    }, function(){ 
     $('.imgfill').removeClass('active').cycle('pause'); 
    }); 

}); 

hier ist ein Link für eine Arbeitsversion http://codepen.io/mozzi/pen/eZqLxr

+1

danke. merke auch, dass ich .imgfill auf versteckt hatte, daher wurde es nicht angezeigt. das Folgende: $ ('. home'). find ('. imgfill') funktioniert genauso gut, ist aber wahrscheinlich ein zusätzlicher Schritt, um .find zu verwenden – user3453264

Verwandte Themen