简体   繁体   English

自动化 function jquery 的问题

[英]Problems with automating the function jquery

Hello guys Here i have a function that reacts two time by a same button.大家好,我有一个 function,它通过同一个按钮反应两次。 One time when it's clicked it fades out other time it fades in, but the problem is one that after 2 clicks it stops responding.一次单击它会淡出,另一次会淡入,但问题是单击 2 次后它停止响应。 I am trying to make it loop but.我试图让它循环但是。 I don't have any clue.我没有任何线索。 I tried with the clickCounts ++ and if statements but it didn't give me any fruit.我尝试使用 clickCounts ++ 和 if 语句,但它没有给我任何成果。 so if you guys have any idea I'm quite opened to any suggestions.所以如果你们有任何想法,我很乐意接受任何建议。

  $(function() {
    $('#two').one("click", function() {
        $("this").css({color:"#f790e8"})        
        $(".others:nth-child(1)").fadeOut("300")
        $(".others:nth-child(2)").delay("150").fadeOut("300")
        $(".others:nth-child(3)").delay("300").fadeOut("300")
        $(".others:nth-child(4)").delay("450").fadeOut("300")
        $(".tube1").delay("300").fadeIn("300")
        $(".tube2").delay("450").fadeIn("300")
        $(".tube3").delay("600").fadeIn("300")

         $('#two').on("click", function() {
             //this code will execute on second click and further clicks 
             $("this").css({color:"black"})        
             $(".others:nth-child(1)").delay("300").fadeIn("300")
             $(".others:nth-child(2)").delay("450").fadeIn("300")
             $(".others:nth-child(3)").delay("600").fadeIn("300")
             $(".others:nth-child(4)").delay("750").fadeIn("300")
             $(".tube1").fadeOut("300")
             $(".tube2").delay("150").fadeOut("300")
             $(".tube3").delay("300").fadeOut("300")
         });

    
    });        
});

You'll probably have a better time setting a class on the element and using it to see which one of the two behaviors to trigger.您可能会有更好的时间在元素上设置 class 并使用它来查看要触发两种行为中的哪一种。

$(function () {
  $("#two").on("click", function () {
    const $this = $(this);
    if ($this.hasClass("on")) {
      //this code will execute on second click and further clicks
      $this.css({ color: "black" });
      $(".others:nth-child(1)").delay("300").fadeIn("300");
      $(".others:nth-child(2)").delay("450").fadeIn("300");
      $(".others:nth-child(3)").delay("600").fadeIn("300");
      $(".others:nth-child(4)").delay("750").fadeIn("300");
      $(".tube1").fadeOut("300");
      $(".tube2").delay("150").fadeOut("300");
      $(".tube3").delay("300").fadeOut("300");
    } else {
      $this.css({ color: "#f790e8" });
      $(".others:nth-child(1)").fadeOut("300");
      $(".others:nth-child(2)").delay("150").fadeOut("300");
      $(".others:nth-child(3)").delay("300").fadeOut("300");
      $(".others:nth-child(4)").delay("450").fadeOut("300");
      $(".tube1").delay("300").fadeIn("300");
      $(".tube2").delay("450").fadeIn("300");
      $(".tube3").delay("600").fadeIn("300");
    }
    $this.toggleClass("on");
  });
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM