Мой аккуратный трюк JavaScript состоит в том, чтобы разделить весь сценарий на две разные функции!
Чтобы подготовить вещи, объявляется одна глобальная переменная и определяется один обработчик событий:
var tTimeout;
element.addEventListener("transitionend", afterTransition, true);//firefox
element.addEventListener("webkitTransitionEnd", afterTransition, true);//chrome
Затем, когда я скрываю элемент, я использую что-то вроде этого:
function hide(){
element.style.opacity = 0;
}
function afterTransition(){
element.style.display = 'none';
}
Для повторного появления элемента я делаю что-то вроде этого:
function show(){
element.style.display = 'block';
tTimeout = setTimeout(timeoutShow, 100);
}
function timeoutShow(){
element.style.opacity = 1;
}
Он работает, пока !
Ничего к этому.
¹ Поскольку вы работаете в Свойство Range.CurrentRegion , .Rows.Count - это общее количество строк в .CurrentRegion.