当前位置: 首页 > 知识库问答 >
问题:

如果有类,则将类添加到另一个

楚望
2023-03-14

我有一个活动选项卡的自动播放选项卡类current,这意味着当该选项卡活动时,

  • 有一个名为current的类。现在我要向第一个子
  • 添加不同的类

    null

    js lang-js prettyprint-override">$(document).ready(function(jQuery) {
    
      if ($('li.stp-1').hasClass('current')) {
        $('.li-animation').addClass('hover-1');
      } else {
        $('.li-animation').removeClass('hover-1');
      }
    
      if ($('li.stp-2').hasClass('current')) {
        $('.li-animation').addClass('hover-2');
      } else {
        $('.li-animation').removeClass('hover-2');
      }
    });
    
    $(document).ready(function(jQuery) {
      $(function () {
        var boxes = $(".HWBlock"),
          tabs = $(".tablinks");
    
        function showTabContent() {
          return boxes.queue("tabs", $.map(boxes, function (el, curr) {
            return function (next) {
              boxes.hide() // hide `.box` elements
                .add(tabs) // add `.tabs` to current selector
                .removeClass("current") // remove `.current` class
                .filter(el) // current `.box` element
                .fadeIn(150) // fade in current `.box` element
                .add(tabs.eq(curr)) // add `.tabs` at index `curr` to selector
                .addClass("current") // add `current` `className` to selector
                .end() // end current selection at `.boxes` selector
                .delay(5000, "content") // set, delay `"content"` queue 5000ms
                .dequeue("content") // dequeue `"content"` queue
                .promise("content") // at completed promise of `"content"` queue
                .then(next) // call next function in `"tabs"` queue
            }
          }))
            .dequeue("tabs") // dequeue `"tabs"` queue
            .promise("tabs") // at completed promise of `"tabs"` queue
            .then(showTabContent); // call `showTabContent` recursively
        }
        showTabContent();
      });
    });
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <ul class="d-md-flex wow fadeInDown">
      <li class="li-animation"></li>
      <li class="tablinks stp-1">stp-1</li>
      <li class="tablinks stp-2">stp-2</li>
      <li class="tablinks stp-3">stp-3</li>
    
    </ul>
    <div class="how-works-text wow fadeInUp">
      <div class="HWBlock step-1" id="step-1">
        <p>test</p>
      </div>
      <div class="HWBlock step-2" id="step-2">
        <p>test 2</p>
      </div>
      <div class="HWBlock step-3" id="step-3">
        <p>test 3</p>
      </div>
    </div>

    null

    共有1个答案

    哈烨熠
    2023-03-14

    根据你在你的问题和评论中给我们的非常有限的信息,这里有一个关于什么可能起作用的绝对猜测。这完全是基于我对jQuery的效果队列功能的了解,这是有限的。

    我还冒昧地使用toggleClass来减少代码的长度,在带有“li-animation”类的元素中添加或删除“hover-*”类。

    null

    function addHoverClasses() {
      $('.li-animation').toggleClass('hover-1', $('li.stp-1').hasClass('current'));
      $('.li-animation').toggleClass('hover-2', $('li.stp-2').hasClass('current'));
    }
    
    $(document).ready(function(jQuery) {
      $(function () {
        var boxes = $(".HWBlock"),
          tabs = $(".tablinks");
    
        function showTabContent() {
          return boxes.queue("tabs", $.map(boxes, function (el, curr) {
            return function (next) {
              boxes.hide() // hide `.box` elements
                .add(tabs) // add `.tabs` to current selector
                .removeClass("current") // remove `.current` class
                .filter(el) // current `.box` element
                .fadeIn(150) // fade in current `.box` element
                .add(tabs.eq(curr)) // add `.tabs` at index `curr` to selector
                .addClass("current") // add `current` `className` to selector
                .queue(function (next) {
                  addHoverClasses();
                  next();
                })
                .end() // end current selection at `.boxes` selector
                .delay(5000, "content") // set, delay `"content"` queue 5000ms
                .dequeue("content") // dequeue `"content"` queue
                .promise("content") // at completed promise of `"content"` queue
                .then(next) // call next function in `"tabs"` queue
            }
          }))
            .dequeue("tabs") // dequeue `"tabs"` queue
            .promise("tabs") // at completed promise of `"tabs"` queue
            .then(showTabContent); // call `showTabContent` recursively
        }
        showTabContent();
      });
    });
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <ul class="d-md-flex wow fadeInDown">
      <li class="li-animation"></li>
      <li class="tablinks stp-1">stp-1</li>
      <li class="tablinks stp-2">stp-2</li>
      <li class="tablinks stp-3">stp-3</li>
    
    </ul>
    <div class="how-works-text wow fadeInUp">
      <div class="HWBlock step-1" id="step-1">
        <p>test</p>
      </div>
      <div class="HWBlock step-2" id="step-2">
        <p>test 2</p>
      </div>
      <div class="HWBlock step-3" id="step-3">
        <p>test 3</p>
      </div>
    </div>
     类似资料:
    • 我已经为桌面构建了一个nav。现在,在将nav调整为移动/平板电脑屏幕大小时,我想在顶级列表项中添加一个“下拉”类,如果它有子项的话。但我只想在小屏幕上这样做,比如平板电脑/手机。导航的桌面视图很好。 我的超文本标记语言代码结构如下: 我用的是Bootstrap 我如何在一个较小的设备上添加一个“雪佛龙”或“手风琴”类。

    • 我是java新手,我正试图编写我的第一个“更大”的程序,包含几个类。我在类“CompetitionProgram”中创建了一个ArrayList并将其声明为private。 我的程序中需要这两个类(Event&ListOfEvents),这是需求之一。事件--它只是表示事件本身,比如事件名称和尝试次数(它是一个体育事件)。和ListOfEvents--它表示列表本身,并包含用于添加事件、删除事件和

    • 问题内容: 我想使两个按钮看起来像按钮。只有当我使用actionlink的#ID来应用时,我才能实现此目的。我想为操作链接分配一个类,但是当我使用下面的代码时,出现一个错误,提示我缺少“}”。 这是我正在应用的样式: 这可行,我想我可以将另一个#ID添加到样式中,但想将样式应用于Class。 问题答案: 您必须使用字符,因为class是C#中的关键字。这是MSDN文档的链接

    • 如果你能帮我解决这件事,我将不胜感激。我试图创建一个函数:“如果任何节具有class”active“=>取此节的id然后将其添加到body作为class元素,否则删除” 这是下面的代码,但它不能正常工作,或者当我滚动到下一节时,新类没有被添加,而以前的类被删除。

    • 问题内容: 有没有办法在翡翠模板中内联? 想要执行此条件检查“内联”,如果fromEdit存在,则结果会将.in添加到div的末尾。 问题答案: 这有效: 在这里尝试。