具有以下代码结构,是否需要所需的代码,以便以平滑的动画方式进行滚动?
我在这里保存了一个JSFiddle:https://jsfiddle.net/v7qhzo8q/
代码是:
<nav id="nav">
<ul id="top">
<li><a href="#">Home</a></li>
<li><a href="#vinedo">Viñedo</a></li>
<li><a href="#elaboracion">Elaboracion</a></li>
<li><a href="#contacto">Contacto</a></li>
</ul>
</nav>
<div id='vinedo' class="div1">
Vinedo DIV
<a href="#top">Back to top!</a>
</div>
<div id="elaboracion" class="div2">
Elaboracion DIV
<a href="#top">Back to top!</a>
</div>
<div id="contacto" class="div3">
Contacto DIV
<a href="#top">Back to top!</a>
</div>
CSS:
.div1 {background:red;height:1000px;}
.div2 {background:green;height:1000px;}
.div3 {background:blue;height:1000px;}
答案 0 :(得分:0)
给它一个机会。如果我正确地理解你,它应该做你想要的。要更改滚动所需的时间,只需在返回错误代码之前更改数字。它目前设置为600毫秒。
$(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
}, 600); //change this number here to modify how long the scroll takes
return false;
}
}
});
});
答案 1 :(得分:0)
嗨,为了一个易于使用的smoothscroll,请使用以下链接,然后按照自述文件中的说明进行设置,希望你说得对。Smoothscroll for Websites