先说几句。
您在多个地方都有相同的<ul>,每个地方都有相同的id。与共享 ID 的多个 <li> 元素相同。这不仅是无效的 HTML,而且通常是一种不好的做法。
其次,您的文档大纲是倒退的。您的文本位于 <h2> 元素中,而您的导航/标题位于 <h3> 元素中。这也是无效的,也是不好的做法。
接下来,让我们谈谈导航栏的其余 HTML(它们兼作部分标题)及其内容部分。让我们看看其中两个(创意和极简主义)的新 HTML
<div id="a1" class="section creativity">
<ul class="nav">
<li class="creativity"><a href="#a1">Creativity</a></li>
<li class="minimalism"><a href="#a2">Minimalism</a></li>
<li class="youthfulness"><a href="#a3">Youthfulness</a></li>
<li class="kuler"><a href="#a4">Kuler</a></li>
<li class="design"><a href="#a5">Design</a></li>
</ul>
<p>Lorem ispum...</p>
</div>
<div id="a2" class="section minimalism">
<ul class="nav">
<li class="creativity"><a href="#a1">Creativity</a></li>
<li class="minimalism"><a href="#a2">Minimalism</a></li>
<li class="youthfulness"><a href="#a3">Youthfulness</a></li>
<li class="kuler"><a href="#a4">Kuler</a></li>
<li class="design"><a href="#a5">Design</a></li>
</ul>
<p>Lorem ispum...</p>
</div>
这里的关键要点是
接下来,CSS 发生变化
div.section ul.nav {
font: 35px 'ChunkFiveRegular', Arial, sans-serif;
letter-spacing: 0;
padding: 0px;
margin: 0px;
border-top: 1px solid black;
border-bottom: 1px solid black;
width:100%;
list-style-type: none;
}
div.section ul.nav li {
display:inline;
padding: 0px;
margin: 0px;
}
div.section p {
font: 36px 'ChunkFiveRegular', Arial, sans-serif;
letter-spacing: 0;
}
div.section.active ul.nav li a {
color: #ddd;
}
a:link {color:#999; text-decoration: none;}
a:visited {color:#999; text-decoration: none;}
a:hover {color:#000; text-decoration: none;}
li.creativity a:hover, div.creativity.active li.creativity a {color:#00ffff !important;}
li.minimalism a:hover, div.minimalism.active li.minimalism a {color:#ff00ff !important;}
li.youthfulness a:hover, div.youthfulness.active li.youthfulness a {color:#ffff00 !important;}
li.kuler a:hover, div.kuler.active li.kuler a {color:#000000 !important;}
li.design a:hover, div.design.active li.design a {color:#666666 !important;}
这里的要点是
最后,修改你的 jQuery
jQuery.noConflict();
jQuery(function($)
{
$("ul.nav li a").click(function( event )
{
event.preventDefault();
var target = $(this).attr( 'href' );
$.scrollTo(
target.replace( '#', '' )
, { duration: 800
, axis: "y"
, onAfter: function()
{
$( 'div.section.active' ).removeClass( 'active' );
$( target ).addClass( 'active' );
}
}
);
});
$(".return-top").click(function()
{
$.scrollTo("body", {duration: 800, axis:"y"});
});
});
这里的要点是
- 此处添加了从链接中删除的行为
- 现在依赖 CSS 类,而不是 ID