微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

必须单击两次才能使 jquery 使用显示/隐藏正常运行

如何解决必须单击两次才能使 jquery 使用显示/隐藏正常运行

我正在尝试使用与每个元素相关的特定 url 来显示/隐藏元素(只需拥有一个 href,以便每个元素都有一个唯一的 url)。我写的代码只有在每个“a”标签被点击两次时才有效,否则它要么显示不相关的内容,要么完全隐藏它。我已经明确地将它们声明为 display:block 在我拥有的 css 文件中,所以我知道这不是问题,(除非我以某种方式做错了这部分)。

这是我正在使用的 html:

  <div class="faq-intro">
    <div class="faq-list">
      <ul id="main-nav">
        <li class="nav active"><a href="#shipping">Shipping</a></li>
        <li class="nav"><a href="#returns">returns</a></li>
        <li class="nav"><a href="#custom">Custom Orders</a></li>
        <li class="nav"><a href="#replacements">Replacements/ Warranty</a></li>
        <li class="nav"><a href="#mostFAQs">Most Frequently Asked Questions</a></li>
        <li class="nav"><a href="#RAD">RAD Principles</a></li>
        <li class="nav"><a href="#environmental">Environmental Stewardship</a></li>
        <li class="nav"><a href="#USA">MADE in the USA</a></li>
      </ul>
    </div>
  </div>
  <div class="second-faq-container">
    <div class="faq-container">
      -content goes here
    </div>
    <div class="faq-container">
      -content goes here
    </div>
    <div class="faq-container">
      -content goes here
    </div>
    <div class="faq-container">
      -content goes here
    </div>
    <div class="faq-container">
      -content goes here
    </div>
    <div class="faq-container">
      -content goes here
    </div>
    <div class="faq-container">
      -content goes here
    </div>
    <div class="faq-container">
      -content goes here
    </div>
  </div>

javascript(构造函数从另一个文件中的“new Faq”获取参数):



new Faq($("#main-nav"),$("div.faq-container"));

export default class Faq {

constructor($navigation,$content) {
  this.$navigation = $navigation;
  this.$content = $content;

  this._bindEvents();
}

_bindEvents() {
  this.$navigation.on("click",".nav",(event) => {
    this._toggleContent();
  });
}

  _toggleContent() {
    this.$content.hide();
  if (window.location.href.indexOf("shipping") > -1) {
    this.$content.eq( "0" ).show();
  }
  else if (window.location.href.indexOf("returns") > -1) {
    this.$content.eq( "1" ).show();
  }
  else if (window.location.href.indexOf("custom") > -1) {
    this.$content.eq( "2" ).show();
  }
  else if (window.location.href.indexOf("replacements") > -1) {
    this.$content.eq( "3" ).show();
  }
  else if (window.location.href.indexOf("mostFAQs") > -1) {
    this.$content.eq( "4" ).show();
  }
  else if (window.location.href.indexOf("RAD") > -1) {
    this.$content.eq( "5" ).show();
  }
  else if (window.location.href.indexOf("environmental") > -1) {
    this.$content.eq( "6" ).show();
  }
  else {
    this.$content.eq( "7" ).show();
  }
}
}

相关的 SCSS:

    .faq-container {
      display: block;
      &:not(:first-child) {
        display: none;
      }
    }

有什么建议吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?