var top = e.pageY - rect.top - ripple.offsetHeight/2 - document.body.scrollTop;Что делает следующее выражение в функции эффекта пульсации?
Может ли кто-нибудь объяснить, что делает каждая часть вышеуказанного заявления?
«e.target» - это объект, который запускает событие и рябь - это диапазон, содержащий класс пульсаций, поэтому, если это сама волна. Таким образом, он находит свое положение относительно верхней части страницы, почему он одновременно ссылается на рябь и рябь?
Вот лучший контекст функции:
if(!ripple){
ripple=document.createElment('span'); /*empty object, span to hold the ripple class*/
ripple.className='ripple';/*add ripple class to it (span)*/
/*place the ripple on top of the button*/
ripple.style.height=ripple.style.width=
Math.max(rect.width, rect.height)+'px';
/*set the ripple to the buttons child= attach*/
target.appendChild(ripple);
}
/*--------- DONT ANIMATE FOR NOW --------------*/
ripple.classList.remove('show');
/* complex part*/
var top= e.pageY - rect.top - ripple.offsetHeight/2 - document.body.scrollTop; /*DEBUG HERE*/
var left =e.pageX - rect.left - ripple.offsetWidth/2 - document.body.scrollLeft;
ripple.style.top= top + 'px';
ripple.style.left= left + 'px';
Эй El.oz, что я не могу получить мою голову вокруг этого, я знаю, что это создает промежуток присоедините класс, который создает эффект, кнопка прослушивает щелчки и получает где промежуток, содержащий эффект, - это щелчок, который получен путем получения события .pageY и страницы X, так почему сценарий берет (-) из «rect.top», а затем снова берется из ripple.offsetHeight? –