Автоматическая отметка времени при редактировании: диапазон

Два трюка . В основном, инвертирование HTML-кода ваших желаемых элементов в HTML и использование ~ Операторы следующего сиблинга :

float-right + инвертируют порядок HTML элементы

div{ /* Do with the parent whatever you know just to make the
  inner float-right elements appear where desired */
  display:inline-block;
}
span{
  float:right;  /* float-right the elements! */
}
span:hover ~ span{ /* On hover target it's "previous";) elements */
  background:red;
} 
<div>
  <!-- Reverse the order of inner elements -->
  <span>5</span>
  <span>4</span>
  <span>3</span>
  <span>2</span>
  <span>1</span>
</div>


Родитель с direction: rtl; + инвертирует порядок внутренних элементов

.inverse{
  direction: rtl;
  display: inline-block; /* inline-block to keep parent at the left of window */
}
span:hover ~ span{ /* On hover target it's "previous";) elements */
  background:gold;
}
Hover one span and see the previous elements being targeted!<br>

<div class="inverse">
  <!-- Reverse the order of inner elements -->
  <span>5</span>
  <span>4</span>
  <span>3</span>
  <span>2</span>
  <span>1</span>
</div>

1
задан Run.Bat 15 January 2019 в 20:24
поделиться

1 ответ

Ключом к этому является изучение объекта события , который передается - ваш пример этого не делает. Как только вы можете изучить событие, вы можете увидеть диапазон, который был затронут. Затем сравните с любым критерием (ваш находится в пределах A1: L30, то есть в первых 30 строках и в 12 столбцах листа 1):

function onEdit(e) {
  var editedRange = e.range;                 // This is what got edited
  var editedSheet = editedRange.getSheet();  // Ranges belong to a sheet
  if (
    (editedSheet.getName() == "Sheet1")      // correct sheet?
    && (editedRange.getColumn() <= 12)       // column L is number 12
    && (editedRange.getRow() < 30)           // We're on row 30 or less
  ) {
      var time = new Date();  
      time = Utilities.formatDate(time, "GMT", "HH:mm:ss");    
      editedSheet.getRange("K17").setValue(time);
    }
}
0
ответ дан Jesse Scherer 15 January 2019 в 20:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: