###前提・実現したいこと
teratailでの投稿が初めてなので至らぬところがあるかと思いますが
ご教示願いいたします。
HTMLとjQueryを用いて、規約を最終行までスクロールしたときに、規約の下にある
「同意する」ボタンを活性化する処理の実装を行っています。
具体的には、ブラウザの倍率を拡大・縮小した際に、最下部までスクロールできるように
スクロールの位置が下部の5%以下に来た際にボタンが活性化する処理を行っています。
###発生している問題・エラーメッセージ
最下部までスクロールしてもボタンが活性化しない。
###該当のソースコード
lang
1【index.php】 2<!DOCTYPE html> 3<html> 4 <head> 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 6 <link rel="stylesheet" href="style.css" type="text/css"> 7 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 8 <script type="text/javascript"> 9 //$('#policy').bind('scroll', function() { 10 $('#policy').scroll(function() { 11 scrollHeight = $(this).height(); 12 scrollPosition = $(this).height() + $(this).scrollTop(); 13 14 15 if ((scrollHeight - scrollPosition) / scrollHeight <= 0.05) { 16 //スクロールの位置が下部5%の範囲に来た場合 17 $('#agree').removeAttr('disabled'); 18 } 19 }); 20 </script> 21 </head> 22 <body> 23 <div id="contents"> 24 <div id="hoge"> 25 <?php 26 for ($x =1; $x < 100; $x++) { 27 echo 'テスト<br/>'; 28 } 29 ?> 30 </div> 31 <div id="policy"> 32 <?php 33 for ($i = 1; $i <= 100; $i++) { 34 echo $i . '回目の繰り返し<br>'; 35 } 36 ?> 37 </div> 38 <div id="buttons"> 39 <ul id="permission"> 40 <li><button type="button" name="disagree">同意しない</button></li> 41 <li><button type="button" id="agree" name="agree" disabled="disabled">同意する</button></li> 42 </ul> 43 </div> 44 </div> 45 </body> 46</html>
lang
1【style.css】 2@charset "UTF-8" 3 4body { 5 height:500px; 6 width:700px; 7} 8 9#contents { 10 padding-bottom: 30px; 11} 12 13#policy { 14 height: 200px; 15 width:150px; 16 margin: 0 auto; 17 overflow-y: scroll; 18} 19 20#buttons { 21 width:200px; 22 margin: 0 auto; 23} 24 25li { 26 display: inline-block; 27 list-style: none; 28}
###試したこと
以下のサイトを参考にしています。
リンク内容
回答4件
あなたの回答
tips
プレビュー