2012-11-23 19 views
7

Używam wtyczki lazyload dla jQuery.Obrazy LazyLoada nie pojawiają się po przewinięciu

Działa dobrze, z wyjątkiem jednego problemu: obrazy src nie są wymieniane na oryginalny plik danych, dopóki nie przewiniesz. Po przewinięciu, nawet odrobinie, obrazy ładują się - ale muszę je załadować w prawo, gdy strona jest gotowa.

Uwaga: jest to wyłącznie kwestia Chrome/Safari. Nie mam tego problemu w Firefoksie lub Operze, a nawet IE9.

Próbowałem zgodnie z sugestią tego postu: http://sumanrs.wordpress.com/2011/02/08/jquery-lazy-loading-images-no-scrolling/ który stanowi, że podstawowa biblioteka jQuery ma możliwości leniwe załadunku bez wtyczki potrzebne. Wydawało się, że tak nie jest, ponieważ obrazy zostały załadowane po wczytaniu pierwszej strony.

Wszelkie spostrzeżenia są mile widziane!

Odpowiedz

4

rozwiązać własne problemy: trzeba ustawić wysokość i szerokość na obrazie!

14

Twoje obrazy najprawdopodobniej nie mają ustawionej szerokości i wysokości. Przeglądarki Webkit będą wyświetlać obrazy na dokumentach już o zerowej szerokości i wysokości. Oznacza to, że jQuery uzna obrazy za niewidoczne. Lazy Load domyślnie ignoruje niewidoczne obrazy. Masz trzy opcje.

  1. Napraw HTML, aby mieć atrybuty szerokości i wysokości na obrazach.
  2. Ustaw skip_invisible na false.
  3. Użyj atleast version 1.8.3 wtyczki.
+2

już wskazywał na to odpowiedź poniżej – user1380540

+0

Dla mnie ustawienie skip_invisible false naprawić go (już miałem ustawioną szerokość/wysokość) – Piero

6
$(window).resize(); 

pomógł mi w moim przypadku.

+0

tak proste, więc idealne. Dziękuję Ci! +1 – Paul

3

Spróbuj tego:

$('img.lazy').lazyload(); 
$(window).scroll(); 
3

miałem podobny problem. Opcja próg rozwiązać go dla mnie:

$("img.lazy").lazyload({ 
    threshold : 400 
}); 
0

Dla mnie problemem było to, zadzwoniłam $('img.lazy').lazyload() w ready

Set wewnątrz load zamiast.

0

Użyłem leniwego ładowania wtyczki jquery, ale ładowanie powoduje problem. (tj.) jest bardziej płynny w przeglądarce Crome. Ale niestety nie działa poprawnie w lisie ognistym lisiu. Otrzymuję to powiadomienie od mozilla fire fox (skrypt na tej stronie może być zajęty lub mógł przestać odpowiadać.) Możesz teraz zatrzymać skrypt, otworzyć skrypt w debugerze lub pozwolić skryptowi kontynuować.). Po prostu odpowiedz lepiej, aby uniknąć tego błędu.

0

Miałem ten sam problem.

rozwiązał ten sposób:

Wystarczy zastąpić „leniwe” klasę z pierwszych obrazów na stronie.

;-)

Powiązane problemy