Я ищу, чтобы установить кнопку «прокрутка вверх» с помощью JQuery для моего приложения rails. Вот скрипт 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;
}
}
Когда я открываю новую страницу, скажем, локальный: 3000/регистрация, кнопка прокручивает просто отлично. Но если я нажимаю на другую страницу, событие прокрутки не происходит. Таким образом, кнопка работает правильно, если я перезагружаю страницу или открываю новую на другой вкладке. Что может вызвать проблему?
что 'другой page' – brk
Вы пробовали глядя на консоли браузера, чтобы увидеть, если есть какие-либо ошибки? – max
У вас есть [turbolinks] (http://stackoverflow.com/questions/18770517/rails-4-how-to-use-document-ready-with-turbo-links)? Слушатель событий может не прослушивать эти события. –