JavaScript座位表

时间:2019-06-08 17:28:19

标签: javascript function

我正在尝试根据时间和占用率来建立动态的座位表,以将时间戳和颜色协调相关联:想想女主人在餐厅为客人提供座位,我希望任何人都可以很容易地从视觉上看到这张桌子是否被占用如果是这样,那么多长时间,然后将颜色更改为红色,如果红色已超过30分钟,则打开黄色,如果打开了更多则是黄色,然后打开5分钟则打开绿色。随附的是我希望如何组织的基本模板-https://docs.google.com/spreadsheets/d/1JdfJNL6Q-yYoF-0w9MPE6RebjmtLjyvTc76K0YpMrH8/edit#gid=21951357

我尝试了一些只能在红色或绿色的二进制意义上工作的代码,而无法捕获变黄的陈旧开放表。在该状态下,打开或占用状态的颜色渐变会根据时间变暗,并且只能上下移动无法精确影响每个单元格的列

function onEdit(e) {

  var s = SpreadsheetApp.getActiveSheet(); // the active sheet (no need to 
check if the sheet == sheet1 as the active sheet will always be the one 
that's being edited)
  var r = e.range; // the range of the edited cell
  var c = r.getColumn(); // the column of the range
  var timeDelay = 5; // number in seconds
  var checkbox = r.getValue(); // the value of the checkbox after being 
edited
  var date = new Date(); // the date for the timestamp

 if (c == 3 && checkbox === true) { // if the checkbox has been checked, 
change the color to red
    var nextCell = r.offset(0,1);
    Utilities.sleep(timeDelay * 100); // Utilities.sleep takes a number in 
milliseconds
    nextCell.setValue(date).setBackground("red");
  } else if (c == 3 && checkbox === false){ // unchecked switch to green
      var nextCell = r.offset(0,1);
      nextCell.setValue(date).setBackground("green");  
    }
   }

这是该项目的上一个迭代,只是在列的上下移动,以便现在有了一个更高级的界面的感觉,不确定如何编写我想看到的结果的脚本

0 个答案:

没有答案