使用ajaxify_rails滚动到元素符

时间:2015-10-26 06:35:04

标签: ruby ruby-on-rails-4

我使用ajaxify_rails GEM对我的网站进行了调整。在ajaxification之前,我有一个逻辑页面,可以在单击链接时滚动到特定元素。例如:

= link_to :some_element.l, "#some_element_id"
.
.
.
%div{:id => "some_element_id"}

因此,在点击部分元素链接时,页面应该使用 id 滚动到div some_element_id ,其中包含以下网址:

  

的http://****.com/documentation#some_element_id

但是,在ajaxifixcation之后,它会尝试点击上面的URL并向我显示一个空白页面。如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我发现,在文档中,它是用要求编写的:

  

您的应用不使用命名锚(#)。命名锚点不可能   在基于回退哈希的url方案中正确表示。

我想检查一下解决方法。但是,我想我无法支持命名锚点。我必须改变我的逻辑。

修改

更新了逻辑

查看

= link_to :some_element.l, "javascript:void(0)", :onclick => "scroll_to_element('some_element_id');"

<强>的Javascript

function scroll_to_element(element_id) {
  jQuery('html, body').animate({
    scrollTop: jQuery("#" + element_id).offset().top
  }, 100);
}