2010-08-29 10 views
0

http://www.rollinleonard.com/projects/abfs/dropceiling/index2.phpcharge paresseuse js ne fonctionne pas. a suivi les instructions. grattage de la tête. voir le lien

J'ai vraiment besoin de Lazy Load ou quelque chose de similaire parce que cette page aura 10.000 images. Y a-t-il un moyen de faire fonctionner cela? Ai-je manqué quelque chose de simple?

+1

Pour commencer, votre lien vers le plugin lazyload est 404ing. Cela se qualifie probablement comme "quelque chose de simple" :) –

+0

Oh, c'est idiot de ma part. Merci d'avoir aidé un débutant! D'accord. J'ai réparé ça. Toujours pas là. – Rollin

Répondre

3

Ce qui se passe ici, c'est que vous appelez la fonction dans la tête de la page, avant que les éléments img existent. Essayez plutôt - il attend que le DOM est prêt avant d'essayer d'appliquer lazyloading:

<script type="text/javascript"> 
    $(function(){ 
     $("img").lazyload({ 
     placeholder : "img/grey.gif",  
     effect  : "fadeIn" 
     }); 
    }); 
</script> 

Cet exemple vient de the docs.

+0

J'ai donc remplacé mon script par celui que vous avez là. Était-ce ce que j'étais supposé faire ou devrais-je le placer dans le corps? J'ai essayé de le mettre dans l'étiquette de corps aussi et les deux ont abouti: Il semble maintenant être remplacer toutes les images avec grey.gif APRÈS qu'ils se chargent tous. Merci de votre attention ... – Rollin

+0

Oui, cela devrait remplacer vos balises de script. Pouvez-vous me rendre un service, et essayer le code encore? (Je l'ai changé.) Il semble remplacer toutes les images 10k, et il semble avoir du mal à le faire. –

+0

@John: voulez-vous dire que c'est '$ (document) .ready (...)'? –

1

Pour vous aider à résoudre le problème, lancez firebug, ouvrez la section firebug et choisissez l'onglet net. Cela vous montrera chaque demande faite au serveur et la réponse du serveur. Vous voudrez également ouvrir la "Console d'erreurs" pour vous assurer que le code javascript est en cours d'exécution (pas d'erreur de syntaxe) vous empêchant d'y arriver.

Cependant, avec la page que vous utilisez, aïe ....

Pourquoi dans le monde voudriez-vous faire cela?

+0

Pourquoi est-ce que je voudrais le faire ne pas charger ce qui est au-dessous du port de vue ou pourquoi je voudrais que la page ait 10000 images là-dessus? La première parce que j'ai l'impression que cela empêchera l'utilisateur de télécharger toutes les images sur la page en même temps et de les charger dans des sections au fur et à mesure qu'elles défileront vers le bas. La réponse à l'échelle est parce que c'est ce que je veux. Je veux 10000 images sur une page. Avez-vous une meilleure façon d'obtenir 10000 images individuelles sur une page à la fois? Je serais heureux de recevoir des suggestions sur la façon de le faire. – Rollin

+1

Eh bien, je regarderais probablement en utilisant des images de fond, et en combinant de larges bandes de l'arrière-plan dans une grande image d'image-objet. 10.000 images distinctes vont tuer la performance pour l'utilisateur. http://www.youtube.com/watch?v = BTHvs3V8DBA Jetez un coup d'œil à la façon dont google maps apporte les tuiles d'image à mesure qu'elles deviennent visibles. – boatcoder

+0

C'est très bien et je comprends pourquoi c'est un meilleur moyen. J'ai juste une exigence très stricte: ils doivent être des images séparées. – Rollin