css层滑入效果图
导读:CSS层滑入效果图是Web前端开发中常见的一种动态效果,它可以通过CSS3的transition属性来实现。具体实现步骤如下:/*CSS代码*/.slide-in { opacity: 0; transform: translateY(...
CSS层滑入效果图是Web前端开发中常见的一种动态效果,它可以通过CSS3的transition属性来实现。具体实现步骤如下:
/*CSS代码*/.slide-in { opacity: 0; transform: translateY(10px); transition: all 0.5s ease-in-out; } .slide-in.active { opacity: 1; transform: translateY(0); }
上述代码中,slide-in类名定义了元素处于不可见状态下的样式,包括透明度为0和垂直方向偏移量为10px。而active类名则定义了元素激活后的样式,包括完全不透明和垂直方向偏移量为0。
接下来,我们需要通过JavaScript来添加或移除active类名以触发滑入效果。代码如下:
// JavaScript代码const slider = document.querySelectorAll(".slide-in"); function debounce(func, wait = 20, immediate = true) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if (!immediate) func.apply(context, args); } ; var callNow = immediate & & !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) func.apply(context, args); } ; } function checkSlide() { slider.forEach(slide => { const slideInAt = window.scrollY + window.innerHeight - slide.offsetHeight / 2; const slideBottom = slide.offsetTop + slide.offsetHeight; const isHalfShown = slideInAt > slide.offsetTop; const isNotScrolledPast = window.scrollY slideBottom; if (isHalfShown & & isNotScrolledPast) { slide.classList.add("active"); } else { slide.classList.remove("active"); } } ); } window.addEventListener("scroll", debounce(checkSlide));
上述代码中,我们使用了debounce函数来达到函数节流的效果。函数checkSlide通过遍历所有.slide-in元素来判断当前滚动位置是否达到了元素的中心位置,并根据情况添加或移除active类名。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: css层滑入效果图
本文地址: https://pptw.com/jishu/545007.html