jQuery代码影响我的HTML图像链接?

时间:2016-06-04 23:25:44

标签: jquery html anchor

$(document).ready(function(){
  $('body a').click(function(e){
    e.preventDefault();
    var goTo = $(this).attr('href').replace('#','');
    $('html, body').animate({
        scrollTop:$('a[name="'+goTo+'"]').offset().top
    },1775);

    window.location.hash = "#"+goTo;

});

我在我的代码中有这个功能来实现我页面上的滚动效果,但我认为这会影响我的图像链接。当我点击图像时,它不会链接到任何地方。我相当肯定错误在这里,但需要一些帮助才能找到它。

感谢。

1 个答案:

答案 0 :(得分:5)

在更改任何内容之前,请确保首先在href中存在哈希#,这样普通链接仍然可以正常工作。

一种方法是检查元素的hash属性

if(this.hash){
  e.preventDefault();
  // rest of code shown 
}

还可以使用属性选择器仅过滤掉href

#的链接
 $('body a[href^=#]').click...

最后一个假设所有哈希链接都是相对的,而href以#

开头