如何 link 到 javascript 中的同一页面锚点

how to link to a same page anchor in javascript

我想要 link 将 coverflow 强大滑块中的专辑封面定位到同一页面中。它位于顶部,页面下方有与每个封面对应的各种音频播放器,每个都有自己的锚点。我如何使用 link url 属性 去锚点。这张专辑danceawaythenight的主播是dan.

已经尝试过 link 列表项的任一侧,但它只会让专辑封面消失。

我在滑块中使用的代码如下所示。

每个专辑封面都有一个 link,如下所示(目前指向插件滑块附带的默认 link)

<li class=”slide” data-mightyslider=” cover:’images/albumcovers/danceawaythenight.jpg’, link: { url: ‘https://itunes.apple.com/us/album/enrique-iglesias-greatest/id295364999?uo=4’, target: ‘_blank’ } ”>

您可以获取目标元素的坐标并为其设置滚动位置。

这是一种更简单的方法:

function jump(h){
    var url = location.href;               //Save down the URL without hash.
    location.href = "#"+h;                 //Go to the target element.
    history.replaceState(null,null,url);   //Don't like hashes. Changing it back.
}​

这使用 replaceState 来操作 url。如果你还想支持IE,那就麻烦了。

function jump(h){
    var top = document.getElementById(h).offsetTop; //Getting Y of target element
    window.scrollTo(0, top);                        //Go there.
}​

您可能需要根据您的锚点设置 link-url。 link-目标为“_self”或“_top”。

<li class=”slide” data-mightyslider=” cover:’images/albumcovers/danceawaythenight.jpg’, link: { url: ‘#your-anchor-name’, target: ‘_self’ } ”>