【问题标题】:Why Doesn't Page Anchor Work in Ruby On Rails?为什么页面锚在 Ruby On Rails 中不起作用?
【发布时间】:2015-02-01 22:00:31
【问题描述】:

所以我的链接有一个 href 值来加载 ajax 和一个 onclick 值来链接到页面顶部。当我单击链接时,ajax 内容加载和 url 显示对锚点的引用,但页面不会移动到锚点。

我已经尝试了show.html.erbindex.html.erb 中的锚点,当我滚动到顶部时,它们会在视觉上显示它们应该在哪里进行测试,但是页面并没有移动到那个位置。有什么想法可能导致这种情况吗?

show.html.erbindex.html.erb

<a name="#posts_top">love and kittens</a>

点击后,浏览器中的 url 会在视觉上发生以下情况:

http://localhost:3000 => http://localhost:3000/#posts_top

然而,内容加载并且页面只是轻微跳跃以适应新内容,但不会移动锚点。

任何想法将不胜感激!

谢谢

【问题讨论】:

    标签: javascript html ruby-on-rails ajax ruby-on-rails-4


    【解决方案1】:

    您使用属性href 指向另一个锚点(可以由nameid 属性定义。

    例如:

    <h3><a name="menu">Menu</a></h3>
    <ul>
    <li><a href="#a001">Jump to a001</a></li>
    <li><a href="#a002">Jump to a002</a></li>
    <li><a href="#a003">Jump to a003</a></li>
    </ul>
    
    <h3><a name="a001">a001</a></h3>
    <p>paragraph text ...</p>
    
    <h3><a name="a002">a002</a></h3>
    <p>paragraph text ...</p>
    
    <h3><a name="a003">a003</a></h3>
    <p>paragraph text ...</p>
    
    <hr>
    
    <p><a href="#menu">Jump to Menu</a></p>
    

    请注意,您也可以像这样使用id 而不是name...

    <a href="#a001">Jump to a001</a>
    
    ...
    
    <h3 id="a001">a001</h3>
    

    阅读更多关于它的信息here

    【讨论】:

    • 感谢 JTG!您删除的最初答案非常简洁,因此我理解,但感谢您的详细说明。也许只是添加回你的答案,这是一个语法错误。
    猜你喜欢
    • 1970-01-01
    • 2017-12-06
    • 1970-01-01
    • 2017-07-11
    • 1970-01-01
    • 2011-05-26
    • 1970-01-01
    • 2011-06-28
    • 2015-10-16
    相关资源
    最近更新 更多