JQueryを使ってレールアプリケーションに「スクロールアップ」ボタンを設定しようとしています。ここではJQueryのスクリプトは次のとおりです。 ページがリロードされない限り、スクロールイベントは機能しません。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$(window).scroll(function() {
if($(this).scrollTop() > 300) {
$('#toTop').fadeIn();
} else {
$('#toTop').fadeOut();
}
});
$('#toTop').click(function() {
$('body,html').animate({scrollTop:0},300);
});
});
</script>
はここでボタンのCSSです:
#toTop {
width:100px;
text-align:center;
padding:5px;
position:fixed;
bottom:5px;
left:50%;
cursor:pointer;
display:none;
color:#333;
font-size:20px;
&:hover {
color: #8B0000;
}
}
私は新しいページを開く
は、localhostを言う:3000 /サインアップ、ボタンスクロールアップだけで罰金。しかし、別のページをクリックすると、スクロールイベントは発生しません。したがって、ページをリロードするか、別のタブで新しいボタンを開くと、ボタンが正しく機能します。何が問題を引き起こす可能性がありますか?
'別page' – brk
であるあなたがエラーがあるかどうかを確認するために、ブラウザのコンソールを見てみましたがありますか? – max
[turbolinks](http://stackoverflow.com/questions/18770517/rails-4-how-to-use-document-ready-with-turbo-links)がオンになっていますか?イベントリスナーは、これらのイベントを待機していない可能性があります。 –