javascript - 滚动到特定标签

标签 javascript jquery ruby-on-rails ruby coffeescript

我知道这个问题是 Web 开发的典型问题。
但我被这个问题困扰了将近3个小时。
如果您可以帮助我或给我提示,我很感激。

我想做什么
用户单击链接后,自动滚动到下一个窗口上的特定标签。

序列
1. 用户位于TaskWindow
2. 用户在TaskWindow上推送HistoryWindow的链接
3. 应用程序显示历史窗口并自动滚动到特定标签。

环境
ruby 2.1.1p76/Rails 4.2.0/CoffeeScript/Javascript

我尝试过的
我尝试了两种方法。

1:使用assets/javascripts/histories.coffee

assets/javascripts/histories.coffee

ready = ->
    scrollToElement($('.history-group-<%= @group_histories.count-1 %>'));

scrollToElement = (ele) ->
    $(window).scrollTop(ele.offset().top).scrollLeft(ele.offset().left)

问题

  • 错误于<%= @group_histories.count-1 %> (但是如果我写文字变量,它就可以工作。)
  • 其他 Controller 加载此咖啡文件。

2:使用history/index.html.erb

history/index.html.erb

....  
<%= javascript_tag do %>
    function scrollToElement(ele) {
        $(window).scrollTop(ele.offset().top).scrollLeft(ele.offset().left);
    }

    scrollToElement($('.history-group-<%= @group_histories.count-1 %>'));
<% end %>

问题

  • 不工作。什么也没发生。

问题
如何更好地实现这一点?

最佳答案

您正在寻找的是 anchor 链接:

<a href="/foo#bar">Foo</a>

当浏览器加载 /foo 时,这将自动滚动到具有 id 属性 bar 的元素。

如果没有匹配的元素,浏览器将滚动到顶部(无论如何这是默认的)。

使用 Rails 路由助手创建 anchor :

link_to("Index", foos_path(anchor: 'bar'))

关于javascript - 滚动到特定标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33604854/

相关文章:

javascript - 在 Angular js 中嵌入来自 json 响应的 Youtube 视频 url 和 Vimeo 视频 url 时的问题

javascript - 在 JavaScript 函数中使用忽略参数的目的/好处是什么?

ruby-on-rails - Rails-如何在searchkick中添加更多字段以进行过滤?

ruby-on-rails - ubuntu上的rails服务器错误

javascript - 使用 getElementById 时添加类

javascript - 如何解决 phonegap 中的这个错误 -- #!/usr/bin/env node

javascript - 使用javascript禁用所有控件上的点击事件

javascript - 使用 border 和 border-radius 构建的动画心电脉冲线

javascript - JS主干加载图片

ruby-on-rails - 为什么 elasticsearch-rails 突然提高 Faraday::ConnectionFailed (执行过期)?