jQuery 影响我的 HTML 图片链接的代码?
jQuery code affecting my HTML image links?
$(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;
});
我的代码中有这个函数可以在我的页面上实现滚动效果,但是我认为它影响了我的图像 links。当我点击一张图片时,它不会 link 任何地方。我相当确定这里有错误,但需要一些帮助才能找到它。
谢谢。
确保 href 中有一个散列 #
,然后再更改任何内容,以便正常链接仍然有效。
一种方法是检查元素的 hash
属性
if(this.hash){
e.preventDefault();
// rest of code shown
}
也可以使用属性选择器只过滤掉 href
中带有 #
的链接
$('body a[href^=#]').click...
最后一个假定所有哈希链接都是相对的并且 href 以 #
开头
$(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;
});
我的代码中有这个函数可以在我的页面上实现滚动效果,但是我认为它影响了我的图像 links。当我点击一张图片时,它不会 link 任何地方。我相当确定这里有错误,但需要一些帮助才能找到它。
谢谢。
确保 href 中有一个散列 #
,然后再更改任何内容,以便正常链接仍然有效。
一种方法是检查元素的 hash
属性
if(this.hash){
e.preventDefault();
// rest of code shown
}
也可以使用属性选择器只过滤掉 href
中带有#
的链接
$('body a[href^=#]').click...
最后一个假定所有哈希链接都是相对的并且 href 以 #