0

我有一个讲师数据的 json 数组,该数组输入模板并为每个讲师生成一张“卡片”。每个讲师都包含一个命名的锚点,我希望能够从外部页面链接到各种生成的锚点。IEinstructors.htm#MrsTaylorGreen

似乎当卡片有机会生成时,浏览器的所有跳转到锚点行为都已完成。

我正在考虑从这里派生的这部分 jQuery

// page load, draw instructor cards then...
// scroll to the named anchor if there is one
var anchor = document.location.href.split("#")[1];
if($("#" + anchor).length)
    $('html, body').animate({
        scrollTop: $("#" + anchor).offset().top
    }, 2000);

这是必要的吗?还是有更有效的替代链接到动态锚点?

4

1 回答 1

2

改用它来获取哈希(用于您的锚点):

var anchor = window.location.hash;

进而:

if ($(anchor).length > 0)
    $('html, body').animate({
    scrollTop: $(anchor).offset().top
}, 2000);

document.location.href.split("#")[1];如果 URL 中没有散列,那么获取散列的方式可能(并且将会)产生错误;因为在这种情况下,数组(来自拆分)将只有一个元素。

于 2013-02-08T01:28:09.813 回答