Javascript 创建动画点对点onepage导航n
我正在创建一个导航,这样当我点击我的a标签时,它就会滚动到它所选择的元素。但是我应该怎样做才能使它在运行时具有动画效果呢 发件人:Javascript 创建动画点对点onepage导航n,javascript,jquery,Javascript,Jquery,我正在创建一个导航,这样当我点击我的a标签时,它就会滚动到它所选择的元素。但是我应该怎样做才能使它在运行时具有动画效果呢 发件人: 致: 家 我想知道它是否可以与jquery一起使用。您可以使用jquery执行类似的操作 $("a").click(function() { $("html,body").animate({scrollTop: $("#home").offset().top}); }); 参考资料: $(function() { $('a[href*=#]:n
致:
家
我想知道它是否可以与jquery一起使用。您可以使用jquery执行类似的操作
$("a").click(function() {
$("html,body").animate({scrollTop: $("#home").offset().top});
});
参考资料:
$(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;
}
}
});
});
可以随意更改动画的速度,该速度当前设置为1000ms(1秒),以您喜欢的值为准。请记住,此代码将影响在HTML文档中引用具有匹配id的元素的所有锚定标记。您可以这样做:
那么,每次需要滚动时,我是否都需要一个@UnScope不,除非你真的希望在这里使用答案,否则请看我在我的答案上的参考资料,它适用于所有情况。实现是您的选择,所以这个答案很好,它取决于您想要实现什么。它只是一个示例。如果您需要一个完整的函数,请查看@AGE答案。我必须如何设置它,以便如果我有一个so,它可以转到它?这适用于引用具有相同id的匹配元素的所有锚定链接。因此,如果您有一个引用
#home
的锚定标记,此代码知道查找id为home
的匹配元素,并执行平滑滚动动画。如果您试图在代码中添加此代码,最好确保它只是$(function(){…/*code inside only*/})中的代码代码>我明白了!thanks很多这正是我想要的:)非常感谢@UnScope没问题,只是要知道有很多像这样的很棒的代码片段,有时候一个简单的谷歌搜索会给你很多好的答案:-)我尝试过谷歌,但不知道它是什么:)但现在我知道它被称为“平滑滚动”。)
$("a").click(function() {
$("html,body").animate({scrollTop: $("#home").offset().top});
});
$(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;
}
}
});
});
var links = $('#links a');
links.on('click', function(e){
e.preventDefault();
var theHREF = $(this).attr('href'),
sectionTop = $(theHREF).offset().top;
$("html, body").stop().animate({scrollTop:sectionTop}, 500);
})