Javascript 显示/隐藏内容

Javascript 显示/隐藏内容,javascript,events,show-hide,sections,Javascript,Events,Show Hide,Sections,我需要创建一个脚本,其中将隐藏所有内容,但有一个部分是为我的JavaScript类选择的。函数,用于侦听特定HTML节的单击事件。触发此事件后,我需要显示单击的部分,同时隐藏其他部分。我想我已经正确地编码了EventListener和hide函数了!然而,我认为我遇到这些问题的地方是我的职能。不幸的是,这必须全部用JavaScript(带有HTML和一些CSS)完成。我们需要有一个导航栏和查询选择器以及event.targets 以下是我目前掌握的情况: 设置对象引用 link1 = docum

我需要创建一个脚本,其中将隐藏所有内容,但有一个部分是为我的JavaScript类选择的。函数,用于侦听特定HTML节的单击事件。触发此事件后,我需要显示单击的部分,同时隐藏其他部分。我想我已经正确地编码了
EventListener
hide函数了!然而,我认为我遇到这些问题的地方是我的职能。不幸的是,这必须全部用JavaScript(带有HTML和一些CSS)完成。我们需要有一个导航栏和查询选择器以及event.targets

以下是我目前掌握的情况:

设置对象引用

link1 = document.getElementById("program");
link2 = document.getElementById("history");
link3 = document.getElementById("efficiency");
link4 = document.getElementById("brains");
添加事件侦听器

addEventListener("click", clicked);
link1.addEventListener("click", clicked);
link2.addEventListener("click", clicked);
link3.addEventListener("click", clicked);
link4.addEventListener("click", clicked);
显示内容

function clicked(event){

    for (var i = 0; i<sections.length; i++){
        sections[i].className = "hidden"; //Looks at all the sections then changes/adds all the class names to "hidden"
    }

    event.target.href;
    event.target.className = "";

    //event.target.hash.className = "show";

    console.log(event.target.hash); //Logs tha function works and which link has been clicked
}
单击的函数(事件){

对于(var i=0;i首先,我们需要某种方式将标题链接到它们的部分。我通过添加到导航栏链接来实现这一点:

<nav>
    <a href="#program" data-section="program">Programming</a>
    <a href="#history" data-section="history">History</a>
    <a href="#efficiency" data-section="efficiency">Efficiency</a>
    <a href="#brains" data-section="brains">Brains</a>
</nav>
然后,在我们点击的
事件中,我们需要:

  • 从单击的元素中获取
    数据部分
    信息
  • 获取节的元素
  • 将类
    show
    添加到section元素
  • 我们可以这样做:

    var name = event.target.dataset.section;
    var section = getSection(name);
    section.className = "show";
    

    我已将我的更改存储在上,以便您可以查看。

    您不太可能在这个问题上获得任何帮助,因为它是@KD_13-尝试将其缩小到一个单独的问题,并询问这个问题。谢谢您的建议@JamesMonger!我刚刚这样做了!不用担心。欢迎使用堆栈溢出!
    var name = event.target.dataset.section;
    var section = getSection(name);
    section.className = "show";