hallo iedereen,
Omdat mijn website heel veel plaatjes heeft en dus een lange laad tijd heeft
kwam ik op het idee om de afbeelding pas te laden als de div in beeld komt
ik heb nu:

<div class="picture">
<img src="voorbeeld.jpg" alt="voorbeeld">
</div>

hoe kan ik ervoor zorgen dat javascript dicteert dat de div (dus de afbeelding) in beeld is
en daarna de afbeelding laad?

alvast bedankt
de reden waarom ik de afbeeldingen ophaal via php is de foto's die je verstuurd
niet voor iedereen zichtbaar moeten zijn. nu ik het via php doet word er eerste gecontroleerd
of je de afbeelding mag zien als dat het geval is echo't hij de afbeelding als het niet het geval is echo't hij een afbeelding met de tekst: deze foto is niet voor u bedoelt.



Toevoeging op 07/06/2014 14:34:11:

ik ga nu je script testen
PHP staat hier los van. Afbeelding laden als ze in de viewport komen in Front-end!
het script werkt niet ik vermoed dat het hier aan ligt

var position = image.position().top();

als ik een alert('hoi') voor deze regel zet krijg ik de hele tijd hoi te zien
zodra ik alert('hoi') na deze regel zet krijg ik niks meer te zien
weet iemand hoe dat komt?
.top() moet .top zijn ;-) Excuses en anders 'Wat zegt de javarscript console'...
ik ben nu verder het script werkt nog steeds niet nu ligt het aan deze regel

image.attr('src', image.attr('data-image-load')); // SRC invullen.

de javascript console zegt:
event.returnvalue is deprecated. please use the standard event.preventdefault() instead
ik kan er zelf niet zoveel uit wijs worden
event.returnvalue is deprecated. please use the standard event.preventdefault() instead heeft niks te maken met die regel, tenzij je nog een oude jQuery hebt ofzo?? Heb je een online link, kan ikz elf even kijken wat er fout gaat.
nee sorry ik heb hem alleen op mijn computer draaien in apache2
ik heb deze jQuery
<script src="http://code.jquery.com/jquery-1.10.0.min.js"></script>
Zegt hij ook op welke regel de fout zich bevind? Want die error heeft volgens mij weinig te maken met de code die ik je gegeven heb.
nee maar dat is de regel die niet uitgevoerd word
Zo zou ik het doen:
[code lang="js"]
$(document).ready(function() {
$(window).on('scroll', function() {
$(".image-load").each(function(index, el) {
var im_data = $(el).data('image_src');
// controleer of het attribuut geen image bevat
if (typeof im_data == 'string') {
var top = $(el).offset().top
// controleer of de image in de viewport staat
if (top >= $(window).scrollTop() &&
top <= $(window).scrollTop() + $(window).height()) {
// zet de image in het data-attribuut
var new_img = new Image();
new_img.src = im_data;
$(el).data('image_src', new_img);
el.src = new_img.src;
}
}
});
});
// trigger de scroll
$(window).trigger('scroll');
});
[/code]

Reageren