我怎样才能让jQuery用fadeToggle切换一个类?

辉煌的猫薄荷

fadeToggle()用来在所选元素的可见性之间切换。加载我的页面时,所有给定的元素都被赋予“不可见”类(为它们提供CSS属性display: none;)。

我希望能够切换此类的名称,因为我用来切换所有元素的可见性/不可见性的另一个函数要求它能够找到属性为invisible的元素。

这是我当前的代码:

  var sections = $('.ovelseSeksjon');
  var title = sections.find("h1")
  var assignments = sections.find(".ovelseInnhold");
  var plusMinus = sections.find(".fa");
  var toggleAll = $("#mainText").find(".toggleall");

  // Hide all assignments at page load
  assignments.addClass("invisible");

  // Toggle the invisible class when the title is clicked
  title.on('click', function() {
    // To capture the scope of this, it will be something else in setTimeout.
    $(this).parent().find(".invisible").fadeToggle("fast", "linear");
  });

  toggleAll.on("click", function() {
    console.log($(this).attr("class"));
    if($(this).hasClass("open")) {
      assignments.filter(".invisible").removeClass("invisible");
    }
    if($(this).hasClass("close")) {
      assignments.not(".invisible").addClass("invisible");
    }
  });

这行得通,但不是我希望它起作用的方式。这只是添加了一个新的CSS属性display: block,该属性仅覆盖先前的隐身值。看不见的阶级仍然存在。我该怎么做才能达到理想的效果?如果没有简单的方法来删除不可见的类,如何更新我的toggleAll使其再次正常工作?(它无法隐藏元素。即使它确实删除了invisible属性,但display:块仍然存在,并且不会被我的toggleAll删除)。

谢谢!

三宅义三

我不确定这是否是适合您的HTML的层次结构,但是这里有一个示例。

您的分配内容(.ovelseInnhold)应该以display:noneCSS开头

var sections = $('.ovelseSeksjon');
  var title = sections.find("h1")
  var assignments = sections.find(".ovelseInnhold");
  var plusMinus = sections.find(".fa");
  var toggleAll = $("#mainText").find(".toggleall");


  // Toggle the invisible class when the title is clicked
  title.on('click', function() {
    // To capture the scope of this, it will be something else in setTimeout.
    $(this).parent().find(".ovelseInnhold").fadeToggle("fast", "linear");
  });

  toggleAll.on("click", function() {
    $('.ovelseInnhold').fadeToggle("fast", "linear");
  });
.ovelseInnhold { 
  display:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="mainText">
  <div class="toggleall">Toggle All</div>
</div>


<section class="ovelseSeksjon">
  <h1>Title 1</h1>
  <div class="ovelseInnhold">
    Assignments
  </div>
</section>


<section class="ovelseSeksjon">
  <h1>Title 2</h1>
  <div class="ovelseInnhold">
    Assignments
  </div>
</section>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我怎样才能让一个类实现一个接口...(C ++)

我怎样才能让一个 for 语句有一个 else

我怎样才能让一个用户表单完成另一个?

我怎样才能让Selenium使用我的firefox(而不是创建一个新的)

我怎样才能让我的Ubuntu从给定的源中寻找一个库

我怎样才能让我的 CNN 输出一个特征向量

我怎样才能让一个函数等到代码前一行完成

我怎样才能让一个for循环,将显示在JavaFX 8周的TextField

我怎样才能让一个for循环与双打的阵列?

iText的7:我怎样才能让溢出一个div?

我怎样才能让一个元素失去它的盒子模型?

从数组中删除一个值。我怎样才能让它工作

我怎样才能让“图像”键成为第一个?

我怎样才能让它移动到一个新目录?

我怎样才能让 clojure 写一个对套接字的响应?

我怎样才能让你每次回答一个问题时不断重复?

我怎样才能让 Neovim 的“e”地图增加一个位置?

我怎样才能知道一个类通过 jQuery 更改的时间?

我怎样才能让一个不正确的切入点表达式抛出一个异常?

我怎样才能让一个有界类型参数的方法排除一个子类?

我怎样才能让一个块跟随 pygame 中的另一个块

我怎样才能让我的动画在另一个方向上工作?

我怎样才能让我的Node.js的MySQL连接为一个承诺的工作?

我有一个有效的代码,但我怎样才能让它更优雅

我怎样才能让 Git“忘记”一个被跟踪但现在在 .gitignore 中的文件?

我怎样才能让一个计数器只为 discord.py 中的消息作者增加

如果处理错误,While 循环会跳过一个循环。我怎样才能让它运行剩余的周期?

Unity - 我怎样才能让一个函数在玩家点击它 3 次时触发?

脚本影响所有 div,我怎样才能让它只影响一个?