仅在加载新页面时执行功能

时间:2018-12-08 00:13:27

标签: jquery

我有一个包含以下链接的菜单:

==

我有一个预加载器元素,它在页面加载之间淡入和淡出,并在单击链接时被激活。因此,如果您在主页上并单击“服务”,则预加载器元素会淡入,“关于”页面会加载,向下滚动到#services锚点,然后预加载器元素会逐渐消失。

我将其设置为如果href以<a href="https://someurl.com/home/">Home</a> <a href="https://someurl.com/about/">About</a> <a href="https://someurl.com/about/#services">Services</a> 之类的#开头,则预加载器将不会加载,因为页面只是滚动到锚点。

问题是,如果您在“关于”页面上,然后单击“服务”,则会加载预加载器,因为href并非以#开头。

问题:如何避免预加载器加载停留在同一页面上的锚元素?

1 个答案:

答案 0 :(得分:0)

像您这样的声音需要将目标与当前URL进行比较,并仅显示它们不同的加载器。

请考虑比较当前URL和目标的无哈希版本。

即。获取不带哈希值的当前URL:

window.location.href.split('#')[0]