1 回答
TA贡献2080条经验 获得超4个赞
首先你有一个拼写错误,将var $(a) = $('.a')
其更改为var $a = $('.a'),
您不需要为每个链接创建点击事件
你可以做这样的事情
为每个链接提供一个PageSection
属性,将其值设置为要隐藏/显示的部分的类
也给它相同的类,.nav
这样我们就可以只编写一个点击事件
<li pageSection="aboutGoal" class="nav">
将每个页面部分 div 放入容器 div 中,以便我们可以在单击链接时将它们全部淡出
<div id="Pages">
然后使用这个点击事件
$(document).ready(function () {
//view only home section first time
$("#Pages").children().hide();
$(".Home").show();
//when clicking on a li element with class nav
$("li.nav").click(function () {
//fadout every div inside Pages div
$("#Pages").children().fadeOut();
// FadeIn element with class is the same name as the pageSection property from the Li we clicked
$("." + $(this).attr("pageSection")).fadeIn();
//remove active class for every li element with class nav
$("li.nav").removeClass("active");
//add active class for the li element we clicked
$(this).addClass("active");
});
});
实例: https ://codepen.io/vkv88/pen/gOaLgrj?editors=0010
- 1 回答
- 0 关注
- 108 浏览
添加回答
举报