<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title></title>

<style>

*{

margin: 0;

padding: 0;

}

body{

/* 100%窗口高度 */

height: 100vh;

/* 弹性布局 居中显示 */

display: flex;

justify-content: center;

align-items: center;

background-color: #1b1b1b;

}

.container{

width: 630px;

/* 相对定位 */

position: relative;

/* 溢出隐藏 */

overflow: hidden;

}

ul{

width: 500px;

height: 150px;

overflow: hidden;

display: flex;

position: relative;

}

li{

list-style: none;

height: 100%;

padding-right: 20px;

}

li img{

width: 200px;

height: 150px;

/* 保持原有尺寸比例,裁切长边 */

object-fit: cover;

/* 图片定位正中间 */

object-position: center;

}

</style>

</head>

<body>

<div class="container">

<ul>

<li><img src="img/team01.png" alt=""></li>

<li><img src="img/team02.png" alt=""></li>

<li><img src="img/team04.png" alt=""></li>

<li><img src="img/team04.png" alt=""></li>

</ul>

</div>

</body>

<script>

// 获取ul元素,并为其追加一组相同图片(为了做到无缝衔接)

let ul=document.querySelector('ul');

ul.innerHTML=ul.innerHTML+ul.innerHTML;

// 获取所有的li元素和.btn元素

let lis=document.querySelectorAll('li');

let btns=document.querySelectorAll('.btn');

// 每次滚动的跨度(正数向右,负数向左,默认向左滚动)

let spa=-2;

// 计算并设置ul的总宽度

ul.style.width=lis[0].offsetWidth*lis.length+'px';

// 滚动函数

function move(){

if(ul.offsetLeft < -ul.offsetWidth/2){

// 向左走时,判断图片是否走完(这里本来时4张图片,加上后面追加的4张相同的,共有8张,所以需要用ul的总宽度来除以2进行判断),走完时重新开始

ul.style.left='0';

}

if(ul.offsetLeft > 0){

// 向右走时,判断图片是否走完

ul.style.left=-ul.offsetWidth/2+'px';

}

// 设置偏移位置

ul.style.left=ul.offsetLeft+spa+'px';

}

// 定时器,每30毫秒执行一次move函数

let timer=setInterval(move,600);

// 为ul绑定事件,悬停停止,移开滚动

ul.addEventListener('mousemove',function(){

clearInterval(timer);

})

ul.addEventListener('mouseout',function(){

timer=setInterval(move,30);

})

</script>

</html>

无缝轮播图无缝轮播图相关推荐

  1. 用animation实现轮播图无缝衔接

     思路 使用animation来展示轮播图: 轮播分为两个独立的部分:位移 与 动效.使二者互不影响 动效分为进入动画和退出动画 在所有动效结束后位移 html部分 <body><u ...

  2. vue pc端 商品轮播图_轮播图高点击商品图

    轮播图由背景,商品图,文案三大部分组成,其中商品图是轮播图的主体内容,在轮播主图中,能不能通过一张商品图呈现出商品信息或者卖点,是影响点击率高低的重要因素.本期内容,我们将从商品图出发,为大家讲解的轮 ...

  3. 【uniapp】3d轮播图/堆叠轮播图/层叠轮播图

    前言 uniapp 3d轮播图 uniapp实现3D轮播图 从uniapp插件市场下载插件:https://ext.dcloud.net.cn/plugin?id=243#detail 操作步骤 导入 ...

  4. 九宫图-图片轮播-兼容IE8和Chrome浏览器

    在线测试 打包下载 九宫图-图片轮播-兼容IE8和Chrome浏览器

  5. js点击轮播或者自动轮播图代码

    <!DOCTYPE html> <html> <head lang="en">     <meta charset="gbk&q ...

  6. 一键生成轮播图,轮播图插件

    一键生成轮播图,轮播图插件 简介 写练习的时候发现每次写轮播图都觉得很麻烦,突发奇想,何不写个轮播图插件,需要轮播图的时候,直接调用插件一键生成就行了!!! 于是乎,便写了以下代码(因为博主还是在校学 ...

  7. uni-app:多功能轮播图,堆叠试轮播,文本轮播,图文轮播

    插件地址[前往] mosowe-swiper:适用于uni-app的轮播图插件 轮播组件,本插件兼容H5.APP.微信小程序.支付宝小程序 组件功能 普通轮播(文本.图片,图文轮播,支持上下.左右轮播 ...

  8. 英雄联盟轮播图自动轮播

    六月过去了,七月还会远吗?不知不觉到了六月底的最后一天.你好,七月! 大家好,我是小陈陈呀,上次写了一篇英雄联盟轮播图手动轮播,当天晚上有很多大朋友小朋友私信小陈陈:可以在上次手动轮播的基础上,实现自 ...

  9. 滚动轮播图+滚动轮播图定时器的添加(还原lol首页的轮播图)

    滚动轮播图+滚动轮播图定时器的添加(还原lol首页的轮播图) 每一步都有详细的注释: <!DOCTYPE html> <html lang="en"> &l ...

  10. html怎么做产品轮播图,商品轮播图是什么意思(html轮播图怎么制作)

    但轮播图对用户真的有意义吗?或者它只是设计者用来偷懒,将内容一股脑塞进去的工具呢? 不论将这个问题抛向谁,他们都会告诉你,"轮播图就是个反面模式(anti-pattern)."轮播 ...

最新文章

  1. Dell遇载软件出问题!可能被安装软件含有病毒
  2. java listmode_java中图形界面ListModel的用法?方法如何调用?
  3. 文件系统_Docker文件系统实战
  4. jQuery序列化表单为JSON对象
  5. Maven学习(六)————企业Maven项目最佳实践
  6. MySQL中的空间扩展
  7. 所谓工作能力强,就看这5件事
  8. ndnsim r语言 ubuntu_Ubuntu14.04下配置ndnSIM-nom-rapid-car2car
  9. Tomcat优化实践——网站运维
  10. gxworks2使用指令手册_三菱 GX 三菱 GX Works2操作手册(智能功能功能模块操作篇)...
  11. 输出魔方矩阵(C语言实现)
  12. 软件开发安全左移最佳工具-iast
  13. oracle修改dbf文件,如何修改Oracle的dbf文件位置
  14. 山大计算机学院副院长屠长河,孟祥旭(山东大学教授,博士生导师)_百度百科...
  15. repl_backlog原理是什么
  16. 安装K3s 和 ingress-nginx
  17. 力扣 149. 直线上最多的点数
  18. android mp3 wav转换工具,音频提取转换工具app
  19. 公司企业兔年祝福元旦祝福贺卡邀请函模板!
  20. UE5——AI追逐(蓝图、行为树)

热门文章

  1. Node.js下载安装与配置淘宝加速器cnpm
  2. 计算机应用的时间识别的,计算机人工智能识别关键技术及运用
  3. python导入gif_Scratch3.0直接导入gif动画
  4. java发送邮件格式_java使用main函数进行邮件发送怎样设置邮件格式
  5. argument type mismatch 属性参数不匹配
  6. 《果然新鲜》电商项目(44)- 利用Logstash自动同步数据库内容到ES
  7. 记一个windows预览体验计划0x800bfa07错误问题
  8. 3000字告诉你如何渡过程序员菜鸟时期
  9. Dining (网络流)
  10. RDS数据库空间满了怎么办?