Javascript 重新加载页面后滚动到特定位置

Javascript 重新加载页面后滚动到特定位置,javascript,jquery,ruby-on-rails,Javascript,Jquery,Ruby On Rails,我有一个底部有一个按钮的查看页面(haml文件): 当我按下该按钮时,页面将重新加载,我希望它自动滚动到。再次滚动此处(但如果页面不是因为按下该按钮而加载的,则焦点应该是页面顶部的常规焦点) 提前谢谢 也许您可以在要滚动到的元素中添加一个id,例如: <div id="scrollHereIfButtonIsPressed"></div> 然后将“#scrollHereIfButtonIsPressed”添加到按钮操作事件的URL中,以便在按下按钮转到该URL时滚动

我有一个底部有一个按钮的查看页面(haml文件):

当我按下该按钮时,页面将重新加载,我希望它自动滚动到
。再次滚动此处
(但如果页面不是因为按下该按钮而加载的,则焦点应该是页面顶部的常规焦点)


提前谢谢

也许您可以在要滚动到的元素中添加一个id,例如:

<div id="scrollHereIfButtonIsPressed"></div>

然后将“#scrollHereIfButtonIsPressed”添加到按钮操作事件的URL中,以便在按下按钮转到该URL时滚动到该元素

例:


示例按钮

不太熟悉ruby on rails,但以下方法可能有效:

.scroll-here
  = link_to "Button", example_path+"?reload=1", id: "my-button"
使用以下jQuery代码

 $(document).ready(function () {
     if (window.location.href.indexOf("reload=1") >= 0) {
           $('html, body').animate({
               scrollTop: $(".scroll-here").offset().top
           });
     }
 });

当页面加载时,你如何区分这两个按钮?好吧,只需按下一个特定的“我的按钮”按钮。因此,当你加载此页面时,无法知道是否在上一页中按下了按钮?没有查询字符串?不同的标题?有什么吗?有没有可能用“onclick”来做呢?如果你愿意改变“刷新”的行为,你可以做很多事情。如何“刷新”页面?是的,但它需要一个锚滚动的ID。我如何添加ID=“scrollHereIfButtonIsPressed”到“=链接到“按钮”,示例路径,ID:“我的按钮”?我得到了“未捕获的类型错误:window.location.indexOf不是一个函数”对不起,忘记了href部分@ZelenkaNo,重新加载后,焦点仍然位于页面顶部
.scroll-here
  = link_to "Button", example_path+"?reload=1", id: "my-button"
 $(document).ready(function () {
     if (window.location.href.indexOf("reload=1") >= 0) {
           $('html, body').animate({
               scrollTop: $(".scroll-here").offset().top
           });
     }
 });