js:无缝轮播实现原理
2023-09-14 09:07:18 时间
实现滚动效果
demo地址:https://mouday.github.io/front-end-demo/swiper.html
代码:
<style>
body {
display: flex;
justify-content: center;
}
.box-wrap {
width: 440px;
height: 80px;
border: 1px solid #333;
position: relative;
overflow: hidden;
}
.box-list {
position: absolute;
display: flex;
align-items: center;
left: 0;
}
.box {
width: 80px;
height: 80px;
margin-right: 10px;
display: flex;
align-items: center;
justify-content: center;
background-color: #eeeeee;
color: #000000;
font-weight: 500;
}
</style>
<div class="box-wrap">
<div class="box-list">
<div class="box">1</div>
<div class="box">2</div>
<div class="box">3</div>
<div class="box">4</div>
<div class="box">5</div>
</div>
</div>
<script>
let box_list = document.querySelector('.box-list');
// 复制一份list
box_list.innerHTML += box_list.innerHTML;
let left = 0;
let timer = null;
// 启动定时器,动态移动list
function startTimer() {
timer = setInterval(() => {
left -= 2;
// 每个元素的宽度和margin距离
if (left == -(5 * (80 + 10))) {
left = 0;
}
box_list.style.left = left;
}, 20)
}
// 鼠标移入暂停
box_list.onmouseenter = function () {
clearInterval(timer);
}
// 鼠标离开继续
box_list.onmouseleave = function () {
startTimer()
}
// 页面加载的时候启动定时器
startTimer();
</script>
相关文章
- Fabric.js 使用纯色遮挡画布(前景色)
- 好好学习JS异步原理
- Js生成二维码_js在线生成二维码
- js中四舍五入的方法_JS取整
- 高德地图js api教程_高德地图sdk使用教程
- js获取当前日期与时间_js获取只有年月日的日期
- 简单理解JS中的this关键字 - wuuconix's blog
- 原生 JS 实现 HTML 转 Markdown ,html2md.js
- clipboard.js:最轻便的复制页面内容到剪切板的JS
- JS 随机数详解编程语言
- JS实现网页动态效果的原理
- 创建JS文件:在Linux下实现自动化任务(linux创建js文件)
- 详细解析JS木马的原理及防范方法
- JS将文件传输至MySQL数据库(.js传文件至mysql)
- JS复制特定内容到粘贴板
- 基于jquery的tab切换js原理
- js延迟加载改变JS的位置加快网页加载速度
- 通过JS自动隐藏手机浏览器的地址栏实现原理与代码
- 超简单JS二级、多级联动的简单实例
- js获取当前地址JS获取当前URL的示例代码
- 纯js实现遮罩层效果原理分析
- js实现的捐赠管理完整实例