我需要存储2个变量。它们表示按下的顺序。例如,值为2的“ tab2”,然后为值1的“ tab1”,依此类推。

我试图用

  window.ACTIVE_NUMBER;
  window.LAST_NUMBER;


和一些全局函数,但它总是告诉我LAST_NUMBER是未定义的。

有没有像表这样的更简单的方法?

我需要点击次数中的数据,以便以后对某些内容进行动画处理。
如果第一个数字大于第二个,则小于第二个数字。

小提琴:
https://jsfiddle.net/gfsmhy37/

最佳答案

您在jQuery调用中缺少“#”:

window.outputBefore = function(x) {
    $("#output-before").text(x); // You were missing the # here
};


另外,还有其他一些事情:
更改

  window.ACTIVE_NUMBER;
  window.LAST_NUMBER;


至:

var ACTIVE_NUMBER;
var LAST_NUMBER;


另外,您需要在更新ACTIVE_NUMBER之前更改LAST_NUMBER,这样它就可以记住ACTIVE_NUMBER在其当前值之前是什么。

 window.checker = function() {
   LAST_NUMBER = ACTIVE_NUMBER; // Added this line
    var foundnumber = parseInt($(".tool.active").index() + 1);
    ACTIVE_NUMBER = foundnumber;
  };


然后在点击功能中,您需要输出LAST_NUMBER:

 $(".tool").click(function() {

    if ($(this).hasClass("active")) {
      console.log("It is already active.");
    } else {
      $(".tool").removeClass("active");
      $(this).addClass("active");
      checker();
      outputBefore(ACTIVE_NUMBER); // Add this line
      output(LAST_NUMBER);
    }
  });


并在所有功能之后加上分号。

完整代码:

$(document).ready(function() {

  //    global variables
  var ACTIVE_NUMBER;
  var LAST_NUMBER;

  //    global functions
  window.output = function(x) {
    $("#output").text(x);
  };

  window.outputBefore = function(x) {
    $("#output-before").text(x);
  };

  window.checker = function() {
   LAST_NUMBER = ACTIVE_NUMBER;
    var foundnumber = parseInt($(".tool.active").index() + 1);
    ACTIVE_NUMBER = foundnumber;
  };

  //    the starting value
  //    if(LAST_NUMBER == undefined){
  //        LAST_NUMBER = 1;
  //    }

  checker();
output(ACTIVE_NUMBER);
outputBefore(LAST_NUMBER);





  //    Changes applied onclick event
  $(".tool").click(function() {

    if ($(this).hasClass("active")) {
      console.log("It is already active.");
    } else {
      $(".tool").removeClass("active");
      $(this).addClass("active");
      checker();
      outputBefore(ACTIVE_NUMBER);
      output(LAST_NUMBER);
    }
  });


});

关于javascript - 顺序存储2个数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37471340/

10-12 22:00