首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击atag时显示特定div。并隐藏其他div

单击atag时显示特定div。并隐藏其他div
EN

Stack Overflow用户
提问于 2017-03-09 07:21:26
回答 6查看 325关注 0票数 1

一般来说,我对jquery和编码都是个新手。我在这方面有点麻烦。

我想要的是当页面加载时,‘shown’链接是活动的,并显示'Details 1‘。然后当你点击‘电影制作’或'Beme'...“细节2或3会显示出来,无论哪一个都会消失。”

到目前为止,我已经把所有东西都设置好了,只需要让它到达当你点击其他链接时,正确的“详细信息”文本会自动显示出来的位置。

太感谢你了,我现在手忙脚乱!

http://jsfiddle.net/t1huc43d/

下面是需要调优的代码:

代码语言:javascript
复制
$(function() {
   $("togglediv1").click(function() {
      $("#togglediv1").removeClass("display-start");
      $("li").removeClass("display");
      $(this).addClass("display");
   });
});
EN

回答 6

Stack Overflow用户

发布于 2017-03-09 07:38:32

这段代码将为你节省了大量的时间。我添加了一个名为"data“的自定义属性。此属性用于将链接绑定到要显示的选项卡。这段代码将使添加附加标签等变得容易得多。查看底部更改的HTML和JavaScript。

代码语言:javascript
复制
<div id="wrap">

<ul id="divtoggle">
    <li><a class="link" data="1">Vlogging</a></li>
    <li><a class="link" data="2"> Filmmaking</a></li>
    <li><a class="link" data="3"> Beme</a></li>
</ul>


<div class="text">
    <div class="tab" data="1">Details 1</div>
    <div class="tab" data="2">Details 2</div>
    <div class="tab" data="3">Details 3</div>
</div>


<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script>
$(function () {
  $(".link").click(function () {
    $(".active").removeClass("active");
    $(this).addClass("active");
    dataAttr = $(this).attr("data");
    $(".tab").hide();
    $(".tab[data="+dataAttr+"]").show();
  });
  $(".link:first").click();
});
</script>
票数 0
EN

Stack Overflow用户

发布于 2017-03-09 07:40:04

代码语言:javascript
复制
$(function() {
   $("#togglediv1").click(function() {
      $("#one").removeClass("display");
      $("#one").addClass("display-start");
      $("#two").removeClass("display-start");
      $("#two").addClass("display");
      $("#three").removeClass("display-start");
      $("#three").addClass("display");
   });
});

$(function() {
   $("#togglediv2").click(function() {
      $("#one").removeClass("display-start");
      $("#one").addClass("display");
      $("#two").removeClass("display");
      $("#two").addClass("display-start");
      $("#three").addClass("display");
      $("#three").removeClass("display-start");
   });
});

..。

票数 0
EN

Stack Overflow用户

发布于 2017-03-09 07:43:30

更新的jsfiddle:http://jsfiddle.net/t1huc43d/3/

由于您的in不能很好地跟踪点击的内容和未点击的内容,因此我决定只使用this来查找与详细信息对应的点击内容。

更新后的javascript:

代码语言:javascript
复制
$(function() {
   $("li").click(function() {
      $("#togglediv1").removeClass("active-start");
      $("li").removeClass("active");
      $(this).addClass("active");
      let temp = $("#divtoggle").children();
            var index;

      for (let i = 0; i < temp.length; i++)
      {
        if (this == temp[i] )
        {
            index = i;
          break;
        }
      }

      $(".display-start").addClass("display");
      $(".display-start").removeClass("display-start");

          let text_children = $(".text").children()
      let the_child = text_children[index];
            $(text_children[index]).addClass("display-start");
      $(text_children[index]).removeClass("display");
   });
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42683819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档