jquery 使用if else语句添加类

q8l4jmvw  于 2023-04-05  发布在  jQuery
关注(0)|答案(1)|浏览(102)

HTML:

<!-- draggable -->
<div class="draggable">
  <img src="img/draggable.png" alt="draggable" />
  <div class="drag-area">
    <div class="year year1"></div>
    <div class="year year2"></div>
    <div class="year year3"></div>
    <div class="year year4"></div>
    <div class="year year5"></div>
    <div class="year year58"></div>
    <div class="btn btn-draggable-ball">
      <img src="img/draggable-ball.png" alt="draggable-ball" />
    </div>
  </div>
</div>

<!-- popup -->
<div class="btn btn-popup" id="btn-popup"></div>
<div class="popup-1" id="popup" style="z-index: 50">
  <div class="answer-1"></div>
  <div class="answer-2"></div>
  <div id="close" class="btn"></div>
</div>
<div class="popup-2" id="popup" style="z-index: 50">
  <div class="answer-2-2"></div>
  <div id="close" class="btn"></div>
</div>

联森:

$(".btn-draggable-ball").on("touchend", (e) => {
  e.preventDefault();
  // $(".year2").addClass("drop");
  // $(".year58").addClass("drop");

  if ($(".year").hasClass("year2")) {
    $(".year2").addClass("drop");
  } else if ($(".year").hasClass("year58")) {
    $(".year58").addClass("drop");
  }
});

$(".btn-popup").on("click", () => {
  if ($(".year2").hasClass("drop")) {
    $(".popup-1").show();
  } else if ($(".year58").hasClass("drop")) {
    $(".popup-2").show();
  } else {
    return false;
  }
});

$(".popup-1 #close").on("click", () => {
  $(".popup-1").hide();
});

$(".popup-2 #close").on("click", () => {
  $(".popup-2").hide();
});

现在我使用可拖动的if else语句来判断和添加类,添加类后当我点击按钮时会显示不同。
我有一些问题,
1.触摸端上的If else语句不起作用。
1.即使我把球拖到另一个div,它也会执行if条件,而不能执行else if条件。

kdfy810k

kdfy810k1#

else if不工作,因为你的第一个if条件已经为真。它将永远为真,因为你的.year总是有类.year2。这就是为什么只有.year2得到更新。
你已经添加了一个类到你的.year2,我测试了它的那部分,它实际上工作得很好。

相关问题