当您必须链接到带有数千个单词的页面的某个地方时,锚成为一个非常有用的工具,这不幸的是在公司网站上经常发生。

只有问题是,一个锚在设计时只是简单的糟糕,当用户点击一个链接时,他几乎认为他’S会转到另一个页面,但在这种情况下,他只是跳下内容,这可能真的很迷惑,即使对于像我们这样的电力用户,虽然不明确,如果链接是锚而不是正常链路。

如何改变这种行为?良好地使用简单脚本为滚动条设置动画,它将向下滑动到您的锚点目标,如果javascript关闭,则将正常的锚点仍会起作用。

从github下载   |   查看演示

它真的很容易集成在您的网站中,您无需JavaScript知识。

3将此功能在您的网站上工作的简单步骤:

步骤1: 请插上jQuery库,以及我的脚本在头文件中。

第2步: 在您的锚链接中添加类anchorLink<a href=”#anchorTarget” class=”anchorLink”>

Step 3
:在您的锚点目标中,请为您的HTML锚投用ID和名称。<a name=”anchorTarget” id=”anchorTarget” >

而且你完成了,这个脚本可以自由地使用,无论你认为适合任何东西,Juste会把我的脚本评论留给信用!

从github下载   |   查看演示

需要时间来维护这些JavaScript片段,如果您喜欢并使用此处的工作,请考虑为我买啤酒’廉价和一种简单的方法来回馈!





评论已关闭,因为支持请使用论坛

广告

加入 tesking 646-363. 在线Web开发课程了解不同的Web应用程序并成为专家使用 tesking 646-656. JavaScript教程和专家 tesking 1Y0-A08 关于HTML的研究指南。

104 thoughts on “更好的HTML锚点,是摇动滚动条的jQuery脚本

  1. 问题的问题是它不起作用’似乎支持击中后退按钮。使用锚时,您将跳转到该部分,并且URL更改(到#foo),然后您可以通过击中后面返回顶部(或无论何处)– even though you’在同一页面中。它’如果你能在那里得到两套功能,那么这是一个很棒的开始!

  2. 是的,它已经存在,基本上它只是一个动画,但我制作了这个剧本,所以这对任何人都可以容易地挑选它并与之合作。

  3. 但它没有’t有域名“position-absolute”。所以也许你应该在博客上发布.de并说“你知道已经有一个名叫的博客“position:absolute”。为什么你有博客域名“parasight”然后将博客命名为其他东西? Bizzarre.…

  4. 能’t等待它来支持背面按钮导航(作为杰森指出),因为这意味着锚也将是书签的,很棒的东西!

  5. 这个’D很大,如果它也将锚点添加到URL - 人们经常希望共享锚定URL’是一个像常见问题一样的长页。但是,我假设修复后退按钮问题会这样做。

  6. 是的,我已经有一个修复书签的版本,真正的问题是我可以的后退按钮’t删除JavaScript中的历史记录。如果我不’在星期日我找到解决方案’M只是发布了书签版

  7. 我喜欢这段代码的简单性,但我正在寻找额外的功能。我有一个页面,它使用jquery.xslt插件赋予其内容—仅当该插件完成时,仅存在内容(和其中的锚标记)’s process.

    I’D喜欢能够单击一页上的链接到另一页的锚点。我如何实现如何实现的任何提示?

  8. 您可以在onclick attribut中的链接上使用一种黑客,添加一个拍摄位置的脚本.href并将#添加到结尾并重新缩小。

    在接收锚点的页面中,有一个查看您的URL的脚本

    使用这种子字符串或某种东西,了解最后一个cacteracter是#,如果是,

    使用正则表达式来查找您的锚(我认为可能是位置。在您的位置.Href,为Scrolltop中的动画,并在没有最后一个Catracter的情况下重新缩小正确的URL。

    我知道的那种丑陋,但这会起作用。

  9. 嘿Dude,快速问题!..似乎这个特征只有在没有任何溢出的情况下将对象定位绝对时。你谈谈这个吗?

  10. 嘿,

    I’不太确定你的谈论什么,它滚动到锚顶位置文件,所以它可能无法在一个重叠的隐藏div中工作

    您可以与您的EXMAPLE联系,我会看看,CEDRIC_DUGAS [AT] Hotmail.com

  11. 你好!很好的脚本,我在看它。谢谢你。

    我修改了脚本,所以当动画结束时,窗口地址(window.href)更新。

    我粘贴代码,可能是你想要更新它。
    仅添加:
    Uri =.“#”+$(this).attr(“href”).split(“#”)[1];


    settimout(函数()
    {
    window.location.href = URI;
    },1200);

    完整代码:
    锚= {

    init : function() {

    $(“a.anchorLink”).click(函数(){

    ElementClick = $(此).attr(“href”)

    destination = $(元素单击).offset()。顶部;
    uri = “#”+$(this).attr(“href”).split(“#”)[1];

    $(“HTML:不是(:动画),正文:不是(:动画)”).Animate({scrolltop:destination},1100);
    settimout(函数()
    {
    window.location.href = URI;
    },1200);

    return false;

    })

    }

    }

    再见,对我的英语感到抱歉。
    来自阿根廷的Emiliano。

  12. 真喜欢它– works great but I’m在Opera 9.6中获得奇怪的效果。单击页面底部的锚链接以进一步向上移动页面跳转到顶部,然后向下滚动到右侧位置(位丑陋!)。发生在Mac和PC版本上。有任何想法吗?

  13. 它没有’T在IE6中为我工作..在Firefox 3中工作3 ..这是一个已知的问题,还是我做错了什么?

  14. 它做了..但我不能’无论如何,都可以上班..而且我没有’T获取任何JS错误。非常奇怪。必须’已经发生了一些冲突。让它改为使用Mootools脚本。还是很感谢你!

  15. 首先让我开始说我真的很喜欢这个插件。我是jQuery和Javascript的完整新手。在尝试使用其他一些过于复杂的滚动纸后,我找到了您的网站,很容易使用和初学者。

    我确实有一个问题,我如何设置我的页面是我在树景类型的设置的页面左侧有我的链接。在单击它们时,Page滚动到CORRISPONDING锚点。但是,感觉我已经在树景类型的布局中设置了我最终重复了脚本中的代码,以便我有两个类选项来打造我的链接,而不是只是“anchorLink”。它似乎有效,但我想知道它是否真的是关于这个的正确方法,或者如果可能有更好的解决方案。

    以下是我对脚本所做的,请随时为我提供您的输入:

    $(文件).ready(function(){
    anchor.init()
    });

    锚= {
    init : function() {
    $(“a.anchorLink”).click(函数(){
    ElementClick = $(此).attr(“href”)
    destination = $(元素单击).offset()。顶部; $(“HTML:不是:动画),身体:不是:动画)”).animate({
    Scrolltop:目的地},800);
    return false;

    })
    $(“a.anchorLinkSub”).click(函数(){
    ElementClick = $(此).attr(“href”)
    destination = $(元素单击).offset()。顶部;
    $(“HTML:不是(:动画),正文:不是(:动画)”).Animate({scrolltop:目的地},800);
    return false;
    })
    }
    }

    正如你所看到的那样,真正的特别是刚刚添加了“anchorLinkSub”对此,对不起,如果它的一团糟试图让它看起来更好…做得很好的工作如此之好。

  16. 亚当,

    事实上,你可以做到这一点
    $(“A.Axchorlink,A.Azhorlinksub”)。单击(函数(){

    那是它。

  17. 你好呀,
    伟大的小脚本。我尝试在固定高度和宽度的div内添加此滚动功能,溢出:自动。锚链节是滚动到所述DIV内的内容。我无法’达到工作 - 可以这样做吗?谢谢。

    顺便问一下,我’在谷歌的最后3天内找到了我的网站的方式3次– good work!

  18. @ioz:你需要动画CSS顶级位置

    @John:理论上这是一个奇怪的是它应该以某种方式工作。

  19. 你好,

    我不知道如何修改代码。我需要让它向左或向右滑动。需要帮忙。

    谢谢

  20. anchortarget为您的目标代表,您的ID并不是’t需要是锚定量,在您的情况下,您将有2个名称和ID,

    这表示,一个数字不是有效的ID。

  21. 完美的!谢谢!

    这两个和你的IE 6修复都在不到30分钟的时间内帮助了我。

    你在这里有相当令人敬畏的博客。

  22. It’我认为,看看代码行32更改为.offset()。左;

    和第33行。anional({scrollleft:目的地}

  23. 是的,我试过,但它没有’真的真的滚动到锚点。一世’m新是jquery / javascript但我’LL试图用脚本尝试一下。

  24. 嗨老兄,好脚本!
    快速问题,如何用乘以锚点来制作它?

    此脚本似乎只适用于1个锚点。
    如果我想要2,3点? =)

    谢谢。

  25. 这个 was much needed. Great navigation tool on dynamic sites.

    非常好,它不占用位置.href并将#添加到末尾(这会导致大多数动态站点上的许多问题)您的脚本解决了这一点。谢谢!

  26. 你好!伟大的剧本,一直在寻找这样的东西。只有问题是我在位于页面上的div中有锚链接。每次单击其中一个锚点链接,它会在div内滚动,但也会向上移动父页面。有没有办法解决这个问题?

    谢谢!

  27. @Jun:您必须在锚点上更改您的ID和名称,并将HREF更改为此名称。

    @jlee:I.’你不太确定你在说什么,你有一个例子,你可以尝试在jQuery.anchor.js中删除这一行:window.location.hash = exporteClick

  28. 你是一个传奇。非常感谢!......去买啤酒,但PayPal需要年龄加载。无论如何,如果你达到悉尼,我’ll buy you 10! & I’我当我的时候看起来’我在加拿大在我的滑雪板上接下来的2月。加拿大啤酒吧!再次感谢伴侣!

  29. CEDRIC,这个脚本很棒。我想知道你是否可以帮助我做与它不同的事情。一世’m在遇到条件后尝试在PHP页面中调用锚点,而不是单击链接。我可以跳到我的锚点,这不起作用’t动画它。你,或其他人读过这一点,知道如何在没有点击链接的情况下将动画激活到锚点吗?

    谢谢!

  30. 很难告诉而不查看你的剧本。

    在JavaScript中最简单的方法,仍然放在显示中的正常链接:无,您可以在其中单击以幻灯片幻灯片和JavaScript / jQuery:
    $(“#linkToAnchor”).trigger(“click”)

评论被关闭。