这 jQuery 正确吗?
Is this jQuery correct?
我想在我的页面上有流畅的滚动效果。并且 iv 找到了这段代码
jQuery(function($) {
$('a[href*=#]:not([href=#])').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
if (target.length) {
$('html,body').animate({
scrollTop: target.offset().top
}, 1000);
return false;
}
}
});
});
没问题,但不适用于我的 "go top" link。所以我用教程检查其他页面并这样做:
jQuery(function($) {
$('a[href*=#]:not([href=#])').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
if (target.length) {
$('html,body').animate({
scrollTop: target.offset().top
}, 1000);
return false;
}
}
});
$('a.go-top').click(function() {
$('html, body').animate({scrollTop:0}, 'slow');
return false;
});
});
现在一切正常。但我不知道 jQuery,你能告诉我这个代码是否正确,或者如果可以的话,我应该在这里更改什么?谢谢!
它不适用于您的 go top link,因为您正在寻找具有要单击的 id 属性的 link:$('a[href*=#]:not([href=#])')
。您的 go-top
是 class 而不是 id,如果您将其更改为 id,则不需要您添加的代码。
我想在我的页面上有流畅的滚动效果。并且 iv 找到了这段代码
jQuery(function($) {
$('a[href*=#]:not([href=#])').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
if (target.length) {
$('html,body').animate({
scrollTop: target.offset().top
}, 1000);
return false;
}
}
});
});
没问题,但不适用于我的 "go top" link。所以我用教程检查其他页面并这样做:
jQuery(function($) {
$('a[href*=#]:not([href=#])').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
if (target.length) {
$('html,body').animate({
scrollTop: target.offset().top
}, 1000);
return false;
}
}
});
$('a.go-top').click(function() {
$('html, body').animate({scrollTop:0}, 'slow');
return false;
});
});
现在一切正常。但我不知道 jQuery,你能告诉我这个代码是否正确,或者如果可以的话,我应该在这里更改什么?谢谢!
它不适用于您的 go top link,因为您正在寻找具有要单击的 id 属性的 link:$('a[href*=#]:not([href=#])')
。您的 go-top
是 class 而不是 id,如果您将其更改为 id,则不需要您添加的代码。