我正在一个只有一个页面的网站上工作,而不是为不同的内容加载不同的页面;我希望内容改变,而不是页面,因此减少加载并创造一个很好的效果。
正如您从我下面的代码中看到的那样,它很长,但它有效,我相信有一种更简单的方法可以做到这一点并在 div 之间设置动画。
HTML
<ul class="side-nav" id="sideNav">
<li id="homeNav"><a href="#">Home</a></li>
<li id="bioNav"><a href="#">Biography</a></li>
<li id="musicNav"><a href="#">Music</a></li>
<li id="photosNav"><a href="#">Photos</a></li>
<li id="shopNav"><a href="#">Shop</a></li>
</ul>
<div id="homePage">
<p>HOME PAGE</p>
</div>
<div id="biogPage">
<p>BIOG PAGE</p>
</div>
<div id="musicPage">
<p>MUSIC PAGE</p>
</div>
<div id="photosPage">
<p>PHOTOS PAGE</p>
</div>
<div id="shopPage">
<p>SHOP PAGE</p>
</div>
JS
$('#biogPage').hide();
$('#musicPage').hide();
$('#photosPage').hide();
$('#shopPage').hide();
$('#homeNav').click(function () {
$('#homePage').show();
$('#biogPage').hide();
$('#musicPage').hide();
$('#photosPage').hide();
$('#shopPage').hide();
});
$('#bioNav').click(function () {
$('#homePage').hide();
$('#biogPage').show();
$('#musicPage').hide();
$('#photosPage').hide();
$('#shopPage').hide();
});
$('#musicNav').click(function () {
$('#homePage').hide();
$('#biogPage').hide();
$('#musicPage').show();
$('#photosPage').hide();
$('#shopPage').hide();
});
$('#photosNav').click(function () {
$('#homePage').hide();
$('#biogPage').hide();
$('#musicPage').hide();
$('#photosPage').show();
$('#shopPage').hide();
});
$('#shopNav').click(function () {
$('#homePage').hide();
$('#biogPage').hide();
$('#musicPage').hide();
$('#photosPage').hide();
$('#shopPage').show();
});