我使用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并向我显示一个空白页面。如何解决这个问题?
答案 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);
}