我有这个相当流行的代码:
jQuery(document).ready(function($) {
$(".scroll").click(function(event){
event.preventDefault();
$('html,body').animate({scrollTop:$(this.hash).offset().top}, 500);
});
});
Run Code Online (Sandbox Code Playgroud)
并在HTML中:
<a href="#scrollThere">Click</a>
Run Code Online (Sandbox Code Playgroud)
去吧
<div class="scroll" id="scrollThere"></div>
Run Code Online (Sandbox Code Playgroud)
但是在一个页面网站上,当div处于不同的高度时,即滚动必须使用不同的长度 - 滚动有时要快得多,有时甚至非常慢.什么样的代码会使te滚动始终是时间=速度*距离,而不是时间=以毫秒为单位或者换句话说,我怎样才能达到始终相同的速度?
我有这个HTML代码:
<nav>
<ul>
<li><a href="#">a</a></li>
<li><a href="#">b</a></li>
<li><a href="#">c</a></li>
<li><a href="#">d</a></li>
<li><a href="#">e</a></li>
</ul>
</nav>
Run Code Online (Sandbox Code Playgroud)
这个css:
nav {
display:block;
}
nav ul {
display:inline-block;
width:100%;
list-style-type: none;
margin:0;
padding:0;
}
nav ul li {
float: left;
width: 100px;
height:100%;
margin-right: calc((100% - 500px) / 4);
}
nav ul li:last-child { margin-right:0; }
nav a {
display:inline-block;
width:100%;
height:100%;
}
Run Code Online (Sandbox Code Playgroud)
正如在jsfiddle上看到的那样,在ul之后有空白但导航更高.将ul设置为100%没有帮助,它似乎没有保证金.它是什么?空间:http://i.imgur.com/NSKqsUV.png