位置: 编程技术 - 正文

js实现图片无缝滚动特效(js设置图片边框)

编辑:rootadmin

推荐整理分享js实现图片无缝滚动特效(js设置图片边框),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js实现图片无缝拼接,js实现图片无缝滚动,html图片无缝滚动代码怎样写,js实现图片无缝拼接,js实现图片无缝滚动,js实现图片无缝连接,js实现图片无缝连接,js实现图片无缝滚动,内容如对您有帮助,希望把文章链接给更多的朋友!

首先,无缝滚动的第一个重点就是——动。关于怎么让页面的元素节点动起来,这就得学明白关于JavaScript中定时器的相关知识。

  JS中的创建定时器的方法包括两种:setTimeout和setInterval。首先它们接收的参数相同:第一个参数是一个函数,用于定时器执行,第二个参数是一个数字,代表过多少毫秒之后定时器执行函数。它们的不同在于:setTimeout 是在经过指定的时间之后,只执行一次函数,而setInterval,则是每间隔指定时间,就执行函数一次,说简单点的话,就是setInterval是setTimeout的循环版。

  关于定时器还有一个用法:消除定时器,方法同样有两种:clearTimeout 和 clearInterval,它们分别对应不同类型的定时器。另外,它们都只接收一个参数,这个参数是定时器返回的一个值(我在chrome中调试发现这个返回值都是数字),用于指定消除那个定时器。

  定时器的知识掌握之后,就开始分析怎样使用定时器让元素动起来。其实这个很简单,就是类似电影的原理一样,让元素在很短的时间内发生连续的位移,我们看起来的话这个元素就想是在不停地运动啦。关于怎么让元素产生位移,通过JS修改元素的样式就可以实现,例如

  上面的代码中speed就是每次产生的位移。关于speed使用还挺有意思的:我们可以修改speed的正负值来修改滚动的方向。

  另外,关于元素的属性 offsetLeft 我个人认为需要注意两点:offsetLeft的值由它自己通过定位的left和自己设定的margin的和、offsetLeft它是相对于它的包含层的距离(offsetTop类似)。当然这都是我自己的理解,肯定不是很准确,这个坑记着,下次专门解决它。

js实现图片无缝滚动特效(js设置图片边框)

  让元素动起来的原理基本就是这样,下面开始分析这个无缝滚动展示图片的实现方法,我举得例子都是向左滚动的,向右的原理一样,代码中有提到:

  首先假设需要循环滚动的图片只有4张,为了满足图片滚动起来有循环的要求,就需要把图片如图(1)这样做:

  这样当第一张图片1滚动出边框时,后面的图片1则出现在图片4的后面,这样效果看起来就和循环一样~

  当图片滚动到下面的这种情况时:

  继续滚动就会导致图片后面出现空白,就不是循环滚动的效果了,其实这点也是程序的关键所在,每当图片滚动到图(2)这种情况时,就应该让图片重新回到图(1)那种状态再继续滚动,这样的话就形成了无缝循环滚动的效果。

  另外拓展一下程序写了鼠标移入图片停止滚动,移出继续滚动的效果,就是利用消除定时器的方法实现的,代码很简单就不介绍了。还有我为了样式好看一点,把图片都设置为*的尺寸使用的,大家运行代码是需要自己准备图片。

代码如下:

标签: js设置图片边框

本文链接地址:https://www.jiuchutong.com/biancheng/383743.html 转载请保留说明!

上一篇:学习JavaScript设计模式之迭代器模式(javascript学习指南)

下一篇:JavaScript优化专题之Loading and Execution加载和运行(js优化108条建议)

  • 盘亏存货进项税额转出的计算公式
  • 新公司个税申报怎么操作
  • 计提利息要计提手续费吗
  • 医疗保险单位和个人交的区别
  • 办理出口业务流程
  • 不动产租赁开票税目
  • 哪些津贴不扣税
  • 收到的房租增值税专用发票可以抵扣吗
  • 服务行业印花税税率
  • 汇票的票据行为有贴现吗
  • 企业之间现金换承兑合法吗
  • 会计职业道德的作用
  • 7月1日后通用机打发票纳税人识别号怎么填?
  • 已抵扣发票红冲后发票还给对方公司
  • 公司向外单位借款摘要怎么写
  • 员工探亲路费报销交个税吗
  • 一般纳税人开普票税率是3%还是13%
  • 出租房屋免租期如何确认收入
  • 以前年度损益申报怎么报所得税
  • mac系统怎么更改输入法
  • 鸿蒙工具栏在哪里
  • 补记以前年度收入怎么做账
  • windows问题报告桌面一直闪
  • 工程公司项目经理年薪一般多少
  • php判断ua
  • PHP:oci_bind_by_name()的用法_Oracle函数
  • 商业会计做账
  • 分析卡拉哈迪沙漠的形成原因
  • vue错误提示
  • 注意力机制详解
  • php获取post参数
  • php中数组的概念
  • 冲销暂估入账应该填什么凭证
  • vue的路由器
  • 没有关系怎么表达
  • php简单检测网址是什么
  • JS初识
  • 职工福利能开专票吗
  • 哪些收据可以入账且可以税前抵扣
  • 客运收费标准
  • 金蝶系统采购发票
  • 简述社会保险的项目
  • wordpress建立数据库失败
  • 织梦cms怎么样
  • 摄影的服务注册是什么
  • 现金周期和经营周期的计算公式
  • 办理税务登记变更委托书怎么写
  • sqlserver2008连接
  • sql2005怎么执行语句
  • 什么情况下适用简易程序
  • 企业应付账款的借方登记
  • 企业怎样合理避税详述
  • 提出行政复议是否可以暂停拘留
  • 企业缴纳印花税时需要
  • 销售分哪几类
  • 确认收入结转成本可以写在一张凭证上吗
  • 报销费用余额退回
  • 职工福利费如何计提
  • 暂估入账后续处理
  • 双启动子存在的意义
  • 苹果15手机价格和图片颜色
  • 开机时显示
  • win8触摸板失灵怎么办
  • ubuntu20录屏
  • 写出javascript的数据类型
  • javascript获取数据类型
  • perl -pi
  • Node.js中的事件循环是什么
  • js继承原型链
  • shell脚本获取本地ip
  • 安卓app性能测试
  • 梦见擦窗户框
  • javascript编写
  • python socket connect
  • javascript面向对象 第三方类库
  • 税收效应分析供求曲线
  • 北京定额发票查验
  • 客货两用车应如何运输
  • 国税总局河南省税务局官网
  • 钟楼在西安的哪里
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设