Activer le bouton lorsque défiler bootstrap modal vers le bas

Je veux forcer l’utilisateur à lire tout l’accord à l’intérieur du modal. L’idée est simple, s’ils ne défilent pas jusqu’à la dernière ligne du texte. Le bouton est toujours désactivé. Mais le bouton n’est pas activé. Ceci est mon code:

Javascript:

$('#agreement').scroll(function () { if ($(this).scrollTop() == $(this)[0].scrollHeight - $(this).height()) { $('#closeBtn').removeAttr('disabled'); } }); 

En ce qui concerne l’image plus claire. J’ai mis le code en js ici: http://jsfiddle.net/h3WDq/1129/

Ceci est une version de mise à jour de @ BG101. Le bouton est activé lorsque je fais défiler vers le bas, mais il rest activé même si le bouton modal est à nouveau cliqué. http://jsfiddle.net/h3WDq/1132/

votre modal-body besoin de l’événement scroll, et vous avez besoin d’un petit changement pour le if : –

 $('.modal-body').scroll(function () { if ($('#agreement').height() == ($(this).scrollTop() + $(this).height())) { $('#closeBtn').removeAttr('disabled'); } }); 

extrait de travail ci-dessous (mis à jour pour activer / désactiver)

 $('.modal-body').scroll(function() { var disable = $('#agreement').height() != ($(this).scrollTop() + $(this).height()); $('#closeBtn').prop('disabled', disable); }); 
 .btn-group { z-index: 1051; } .modal-body { height: 300px; overflow: auto } 
    

User Agreement

Pourquoi ne pas mettre un élément caché au bas de l’accord et détecter le moment où le décalage de cet élément défile vers le haut?

 $('#agreement').scroll(function () { var target = $("#target").offset().top; if ($(this).scrollTop() >= target) { $('#closeBtn').removeAttr('disabled'); } });