首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >javascript -点击时隐藏div信息

javascript -点击时隐藏div信息
EN

Stack Overflow用户
提问于 2018-06-20 02:34:21
回答 1查看 79关注 0票数 0

我有一个滑块分为3个类别的产品列表。当您单击产品时,将显示产品说明。单击新产品时,旧的产品描述将隐藏,新的产品描述将出现。

我的问题是,当您更改类别时,我希望关闭先前的描述,因此在您单击新产品之前不会显示任何描述。目前,产品描述仍然显示最后一个类别中的最后一个产品,直到点击新产品为止。

我尝试为这部分编写javascript,但失败了。有人能帮上忙吗?

javascript (前10行是工作代码):

function product(x) {
  document.querySelectorAll('.hidden').forEach(function(el){
    el.style.display = "none";
  });
  if (x.style.display === "block") {
    x.style.display = "none";
  } else {
    x.style.display = "block";
  }
}

var anav = document.querySelector('#navsliderselector');
var divprod = document.querySelector('.hidden');
button.addEventListener('click', function (event) {
      if (menu.style.display == "") {
          menu.style.display = "none";

      } else {
          menu.style.display = "";

      }
    }
  );

下面是HTML:

<ul>
                <li><button onclick="product(product1info)"><h4>Knee Brace L1843</h4></button></li>
                <li><button onclick="product(product2info)"><h4>Wrist Brace L3807</h4></button></li>
                <li><button onclick="product(product3info)"><h4>Wrist Brace</h4></button></li>
                <li><button onclick="product(product4info)"><h4>Ankle Brace L1005</h4></button></li>
                <li><button onclick="product(product5info)"><h4>Back Brace L0650</h4></button></li>
              </ul>

              <ul>
                <li><button onclick="product(product6info)"><h4>Back Brace L0650</h4></button></li>
              </ul>
               <ul>
                <li><button onclick="product(product7info)"><h4>Back Brace L0650</h4></button></li>
              </ul>

    <nav>
                <a href="#" id="navsliderselector">Braces</a>
                <a href="#" id="navsliderselector">Mobility</a>
                <a href="#" id="navsliderselector">Incontinence</a>
              </nav>

              <div id="product1info" class="hidden">
                    <h2>Knee Brace L1843</h2>
                    <p>Product Info</p>
                </div>

                <div id="product2info" class="hidden">
                    <h2>Wrist Brace L3807</h2>
                    <p>Product Info</p>
                </div>

                <div id="product3info" class="hidden">
                    <h2>Wrist Brace</h2>
                    <p>Product Info</p>
                </div>

                <div id="product4info" class="hidden">
                    <h2>Ankle Brace L1005</h2>
                    <p>Product Info</p>
                </div>

                <div id="product5info" class="hidden">
                    <h2>Back Brace L0650</h2>
                    <p>Product Info</p>
                </div>
EN

回答 1

Stack Overflow用户

发布于 2018-06-20 02:43:54

function product(x) {
  $('.productDescr').hide();
  $('.productDescr[product=' + x + ']').fadeIn("fast");
}

$(document).ready(function() {
  $(document).on("click", ".categoryLink:not(.active)", function() {
    $('.categoryLink.active').removeClass("active");
    $(this).addClass("active");
    var categSel = $(this).attr("category");
    $('.categoryProducts').hide();
    $('.categoryProducts[category=' + categSel + ']').fadeIn("fast");
    $('.productDescr').hide();
  });
});
.productDescr {
display:none
}
.categoryLink {
display:inline-block;
padding:3px 5px;
background-color:lightgray;
border-radius:6px;
cursor:pointer
}
.categoryLink.active {
background-color:#07c;
color:white
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<nav>
  <a class="categoryLink active" category="1">Braces</a>
  <a class="categoryLink" category="2">Mobility</a>
  <a class="categoryLink" category="3">Incontinence</a>
</nav>

<ul class="categoryProducts" category="1">
  <li><button onclick="product(1)"><h4>Knee Brace L1843</h4></button></li>
  <li><button onclick="product(2)"><h4>Wrist Brace L3807</h4></button></li>
  <li><button onclick="product(3)"><h4>Wrist Brace</h4></button></li>
  <li><button onclick="product(4)"><h4>Ankle Brace L1005</h4></button></li>
  <li><button onclick="product(5)"><h4>Back Brace L0650</h4></button></li>
</ul>

<ul class="categoryProducts" category="2" style="display:none">
  <li><button onclick="product(6)"><h4>Back Brace L0650</h4></button></li>
</ul>
 <ul class="categoryProducts" category="3" style="display:none">
  <li><button onclick="product(7)"><h4>Back Brace L0650</h4></button></li>
</ul>

<div product="1" class="productDescr">
      <h2>Knee Brace L1843</h2>
      <p>Product Info</p>
  </div>

  <div product="2" class="productDescr">
      <h2>Wrist Brace L3807</h2>
      <p>Product Info</p>
  </div>

  <div product="3" class="productDescr">
      <h2>Wrist Brace</h2>
      <p>Product Info</p>
  </div>

  <div product="4" class="productDescr">
      <h2>Ankle Brace L1005</h2>
      <p>Product Info</p>
  </div>

  <div product="5" class="productDescr">
      <h2>Back Brace L0650</h2>
      <p>Product Info</p>
  </div>
  <div product="6" class="productDescr">
      <h2>Back Brace L0650</h2>
      <p>Product Info</p>
  </div>
  <div product="7" class="productDescr">
      <h2>Back Brace L0650</h2>
      <p>Product Info</p>
  </div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50934917

复制
相关文章

相似问题

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