【发布时间】:2016-09-06 12:16:19
【问题描述】:
我希望使用 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;
}
}
当我打开一个新页面时,比如 localhost:3000/signup,按钮向上滚动就好了。但是如果我点击另一个页面,滚动事件就不会发生。因此,如果我重新加载页面或在另一个选项卡中打开新页面,该按钮可以正常工作。什么可能导致问题?
【问题讨论】:
-
什么是
another page -
你有没有试过查看浏览器控制台看看有没有错误?
-
您是否打开了turbolinks?您的事件监听器可能没有监听这些事件。
-
Cory J.是的,我添加了turbolinks:load,它解决了这个问题。谢谢!
标签: javascript jquery css ruby-on-rails