Hallo,

Enige tijd probeer ik met jquery de onderkant van een element te regsteren voor een functie.
Ik zie dat het tegenovergestelde van .offset().top niet werkt '.offset().bottom'
Is er een andere manier of tooltje waarmee dit wel kan ?

Gr. Bryan
Een wilde gok, document height - offset top ??
Dan pak hij toch de bovenkant van het element/div, ik moet de onderkant hebben :)
Waarom k dit vraag is: Het element/div is de ene keer 100px en de andere keer bijvoorbeeld 900px.
Om het moment dat een gebruiker scrollt en de onderkant is bereikt moet jquery een functie uitvoeren.
(Het gaat niet om het document maar om een losse div)
EDIT: ah, vraag verkeerd gelezen, misschien zoiets?
Wat probeer je uiteindelijk te bereiken?

EDIT: hetzelfde principe zou je verder kunnen toepassen?
.offset = relatieve positie van element

Als scrollTop + windowHeight voorbij offset + hoogte div is heb je de onderkant van die div bereikt?

---

windowHeight = hoogte van browser viewport
documentHeight = hoogte van HTML document

Je hebt de bodem bereikt als:
windowHeight + scrollTop == documentHeight

Voorbeeld:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
<style type="text/css">
body        { position: relative; }
div#info    { position: fixed; bottom: 0; right: 0; display: block; height: 50px; width: 200px; border: 1px solid #ff0000; }
</style>
</head>

<body>
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<div id="info"></div>
<script type="text/javascript">
//<![CDATA[
$().ready(function() {
    $(window).scroll(function() {
        var windowHeight = $(window).height();
        var documentHeight = $(document).height();
        var scrollTop = $(window).scrollTop();
        $('#info').html('scrolling '+(windowHeight+scrollTop)+'/'+documentHeight);
        if (windowHeight + scrollTop == documentHeight) {
            alert('WAFFLES');
        }
    })
});
//]]>
</script>
</body>
</html>

Ik las ergens dat het vermelden van de <!DOCTYPE> belangrijk is, anders gaan berekeningen mis.
Hallo Thomas,

Ik heb even een fiddle aangemaakt om het wat duidelijker uit te leggen.
Fiddle

De gele div (content) is hier 1500px, deze kan veranderen qua hoogte.(ligt eraan hoeveel inhoud)
Als je gaat scrollen dan komt er een moment dat de div content ophoud.
Wat ik wil is dat jquery iets uitvoerd als je bent het scrollen en bij de bodem komt van deze div.

Jquery moet dan bijvoorbeeld de class fixed verwijderen.

<script type="text/javascript">
    //Als het document klaar is
    $(document).ready(function(){
        //Als het document gescrolled word
        $(document).scroll(function(){
            //Refferentie naar je content element
            var content = $(".content");
            //Offsets opvragen van je content element
            var contentOffset = content.offset();
            //Uitrekenen wat je target is. Dit is je offset top + je height
            //Je wil namelijk de onderkant van je element
            var target = contentOffset.top + $(content).height()
            //Scrolltop geeft je de X van de bovenkant van je pagina
            //Je wil de funtie uitvoeren als de onderkant in beeld is, je window hoogte moet er bij
            //Zodra hij bij de target is doe iets
            if(($(document).scrollTop() + $(window).height()) >= target) {
                //Wat je wil doen als je bij de target bent
                console.log("bottom of the div")
            }
        })
    })
</script>


Even snel voor je in elkaar gezet (met behulp van jQuery)

Volgens mij zou dit aardig moeten doen wat jij wil. Mocht er nog iets onduidelijk zijn nadat je de comments heb gelezen, vraag het dan gewoon :)

Jacco
Zie mijn edit hierboven, Jacco doet hetzelfde:
Als scrollTop + windowHeight voorbij offset + hoogte div is heb je de onderkant van die div bereikt?

Zal getest moeten worden maar het wordt al waarschijnlijker dat dit werkt :].
Heb het verwerkt in mijn fiddle :).

Dit is inderdaad wat ik bedoel. Bedankt voor de uitgebreide uitleg Jacco en Thomas!

Reageren