var eles = Array.prototype.slice.call(document.querySelectorAll('.animated'));document.addEventListener('scroll', animatedFadeInUp);animatedFadeInUp();function animatedFadeInUp() { eles = eles.filter(function(ele) { var rect = getRect(ele); if (rect.isVisible) { ele.classList.add('slideUp'); return false; } return true; }); if (eles.length <= 0) document.removeEventListener('scroll', animatedFadeInUp);}function getRect(ele) { var inHeight = window.innerHeight; var rect = ele.getBoundingClientRect(); rect.isVisible = rect.top - inHeight < 0; // rect.isBottom = rect.bottom - inHeight <= 0; return rect;}如果物件沒(méi)有定位(position),則不會(huì)被影響但是假設(shè)有定位,他會(huì)先移動(dòng)到一個(gè)很怪的角度,之後才會(huì)變回去該有的位置@keyframes slideUp { from { opacity: 0; -webkit-transform: translate3d(0, 20%, 0); transform: translate3d(0, 20%, 0); } to { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }}因?yàn)槲业膭?dòng)畫有 transform,我定位的時(shí)候也是用transform就像是:position: absolute;left:15px;top:50%;transform: translate(0,-50%);-webkit-transform: translate(0,-50%);要如何做到:即便有定位,也能夠使用這個(gè)動(dòng)畫?!且會(huì)到正確位置?
fadeIn效果,當(dāng)scroll 到該物件時(shí),但假設(shè)該物件有定位,則會(huì)錯(cuò)誤
翻翻過(guò)去那場(chǎng)雪
2019-03-12 13:15:15