山海科技发展网

09月17日科技常识:使用backgroundImage解决图片轮播切换

导读 摘要 今天小编跟大家讲解下有关使用backgroundImage解决图片轮播切换 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关使用b...
摘要 今天小编跟大家讲解下有关使用backgroundImage解决图片轮播切换 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关使用backgro

今天小编跟大家讲解下有关使用backgroundImage解决图片轮播切换 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关使用backgroundImage解决图片轮播切换 的相关资料,希望小伙伴们看了有所帮助。

单dom节点实现轮播

利用backgroundImage可以添加多张图片,以及位置偏移实现轮播效果

创建一个div;并用backgroundImage给div附图片利用backgroundPosition调节位置利用css3 transition调节过渡即可替代简单的图片切换代码 /** * 播放图片 */ function playImage(src) { if (animaitionFinshed) return; if (!_imageEl) { _imageEl = document.createElement('div') _imageEl.className = `swiper_container`; _imageEl.style.backgroundImage = `url(${src.url})`; _imageEl.setAttribute("data-img", src.url); elContainer.appendChild(_imageEl); } else { animaitionFinshed = true; let width = elContainer.clientWidth, height = elContainer.clientHeight; let preImage = _imageEl.getAttribute("data-img"); _imageEl.style.backgroundImage = `url(${preImage}),url(${src.url}) `; _imageEl.style.backgroundPositionX = `center,${width + 20}px`; setTimeout(() => { _imageEl.style.transition = "all 0.8s ease"; _imageEl.style.backgroundPositionX = `-${width + 20}px,center`; }, 0); setTimeout(() => { _imageEl.style.transition = "none"; _imageEl.style.backgroundImage = `url(${src.url}) `; _imageEl.style.backgroundPositionX = `center`; _imageEl.setAttribute("data-img", src.url) animaitionFinshed = false; }, 800) } }

来源:爱蒂网