js 定时切换图片(JavaScript定时器实现无缝滚动图片)
类别:编程学习 浏览量:608
时间:2022-03-30 20:23:36 js 定时切换图片
JavaScript定时器实现无缝滚动图片本文实例为大家分享了JavaScript实现无缝滚动图片的具体代码,供大家参考,具体内容如下
文本:
- setInterval 开启间隔型定时器
- clearTimeout 关闭定时器
- offsetWidth 获取宽度
- offsetLeft 获取向左偏移量
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>无缝移动</title> <style> *{margin: 0; padding: 0;} #li1{width:520px; height:170px; margin:20px auto; position: relative; /* !!! li1 的位置是相对的 */ background: pink; overflow: hidden} /* !!! overflow: hidden */ #li1 ul{position: absolute; left:0; top:0;} /* !!! ul 的 position:绝对的,控制left的值 */ #li1 ul li{float:left; width:130px; height:170px; list-style: none} </style> <script> window.onload=function () { var oli=document.getElementById('li1'); var oUl=oli.getElementsByTagName('ul')[0]; var aLi=oUl.getElementsByTagName('li'); var speed = 2; oUl.innerHTML+=oUl.innerHTML; // 相当于 4*2 张图像在移动 oUl.style.width=aLi[0].offsetWidth * aLi.length + 'px'; // !!!!!! offsetWidth function Move() { if(oUl.offsetLeft < - oUl.offsetWidth/2){ // 移动到左边的一半 就 回来 oUl.style.left='0'; } if(oUl.offsetLeft>0){ // // 移动到右边的一半就回来 oUl.style.left = - oUl.offsetWidth/2 +'px'; } oUl.style.left=oUl.offsetLeft + speed + 'px'; // !!!!!!!! offsetLeft } var Timer1= setInterval(Move, 30); // setInterval 开启间隔型定时器 oli.onmouseover=function () { clearTimeout(Timer1); }; oli.onmouseout=function () { Timer1=setInterval(Move, 30); }; document.getElementsByTagName('a')[0].onclick=function () { speed=-2; // 向左的速度 }; document.getElementsByTagName('a')[1].onclick=function () { speed=2; // 向右的速度 }; }; </script> </head> <body> <a href="javascript:;" >向左移动</a> <a href="javascript:;" >向右移动</a> <li id="li1"> <ul> <li><img src="img/aa.jpg" alt="js 定时切换图片(JavaScript定时器实现无缝滚动图片)" border="0" />
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
您可能感兴趣
- js数组排序有哪些(js将多维数组转为一维数组后去重排序)
- extjs xtype的使用
- console.table调试JSON对象或字符串
- docker前端项目(Docker部署Nuxt.js项目的实现)
- js判断是否为手机访问
- threejs 三维可视化(three.js模拟实现太阳系行星体系功能)
- nodejsweb服务(Nodejs实现内网穿透服务)
- ExtJs常用代码片段
- 纯css和js有什么区别(CSS语法与JSON、JS对象区别比较)
- videojs播放流媒体(video.js支持m3u8格式直播的实现示例)
- JS函数前面感叹号的作用
- javaweb购物车案例(js实现模拟购物商城案例)
- pandasjson格式(对pandas处理json数据的方法详解)
- vuejs过滤器使用教程(vue3删除过滤器的原因)
- js的逻辑关系和思路(js Proxy的原理详解)
- js判断变量是否为空
- 2021款起亚霸锐到店了 更换车标,竞争宝马X5有戏吗(2021款起亚霸锐到店了)
- 新款起亚霸锐实拍,比普拉多气派,配3.0T V6,引入国内或许能大卖(新款起亚霸锐实拍)
- ()
- 张勇 阿里新任掌门人(阿里新任掌门人)
- 毛戈平全国第一柜花落银泰 高端国货迎来 高光 时刻(毛戈平全国第一柜花落银泰)
- 14岁丧父 20岁丧母,从苦难走向辉煌的银泰创始人沈国军(14岁丧父20岁丧母从苦难走向辉煌的银泰创始人沈国军)
热门推荐
- python 制作图片文字识别(如何使用Python进行OCR识别图片中的文字)
- js搜索功能的实现(前端JavaScript实现本地模糊搜索功能的方法实例)
- vs连接sql语句(vs code连接sql server数据库步骤及遇到的问题小结)
- 怎么查看nginx支持rewrite(nginx里的rewrite跳转的实现)
- nginx 怎么搭建web服务器(Linux+Nginx+Php架设高性能WEB服务器)
- dedecms如何提高网站权重(dede网站内容页如何调取栏目页标题及关键字组合为seo标题)
- sqlserver查看数据表更新时间(SQL Server实现显示每个类别最新更新数据的方法)
- php怎么判断数据是质数(PHP判断一个变量是否为整数、正整数的方法示例)
- sqlserver函数条件判断(Sql Server 开窗函数Over的使用实例详解)
- django 获取请求参数(深入理解Django-Signals信号量)