JS实现图片无缝滚动特效;附addEventListener()方法、offsetLeft和offsetWidth属性。
一:html部分
- <body>
- <input id="btn1" type="button" value="向左">
- <input id="btn2" type="button" value="向右">
- <div id="div1">/*外框,显示区域*/
- <ul id="ul1">/*循环滚动的内容,下面js控制赋值一份相同的内容*/
- <li>111111</li>
- <li>22222</li>
- <li>33333</li>
- <li>44444</li>
- </ul>
- </div>
- </body>
二:样式表内容
- <style>
- *{
- margin:;
- padding:;
- }
- #div1{
- width: 640px;
- height: 120px;
- margin: 100px auto;
- background-color: #646464;
- position: relative;
- overflow: hidden;
- }
- #div1 ul{
- position:absolute;
- left:;
- top:;
- overflow: hidden;
- background-color: #3b7796;
- }
- #div1 ul li{
- float: left;
- width: 160px;
- height: 120px;
- list-style: none;
- }
- </style>
三:js部分
*定义一个速度变量speed,贯穿整个滚动过程
*把html中的滚动部分,复制一份。相当于两份一样的滚动内容
*move()方法,通过判断滚动的位置,当第一份内容的最后一副图滚动完成,就让其回复初始位置。
- <script>
- window.onload = function(){
- /*1.定义滚动的内容、定义速度变量speed、定义滑动部分的宽度=图片数量*图片宽度*/
- var oDiv = document.getElementById('div1');
- var oUl = document.getElementById('ul1');
- oUl.innerHTML += oUl.innerHTML;//图片内容*2-----参考图(2)
- var oLi= document.getElementsByTagName('li');
- oUl.style.width = oLi.length*160+'px';//设置ul的宽度使图片可以放下
- var speed = 2;//初始化速度
- /*2.给左右按钮加点击事件*/
- var oBtn1 = document.getElementById('btn1');
- var oBtn2 = document.getElementById('btn2');
- var timer = setInterval(move,30);//全局变量 ,保存返回的定时器
- oBtn1.addEventListener('click',function(){
- speed = -2;
- },false);
- oBtn2.addEventListener('click',function(){
- speed = 2;
- },false);
- /*3.给鼠标加划入划出事件*/
- oDiv.addEventListener('mouseout', function () {
- timer = setInterval(move,30);
- },false);
- oDiv.addEventListener('mouseover', function () {
- clearInterval(timer);//鼠标移入清除定时器
- },false);
- /* 定义移动的move()方法*/
- function move(){
- if(oUl.offsetLeft<-(oUl.offsetWidth/2)){//向左滚动,当靠左的图4移出边框时
- oUl.style.left = 0;
- }
- if(oUl.offsetLeft > 0){//向右滚动,当靠右的图1移出边框时
- oUl.style.left = -(oUl.offsetWidth/2)+'px';
- }
- oUl.style.left = oUl.offsetLeft + speed + 'px';
- }
- }
- </script>
JS实现图片无缝滚动特效;附addEventListener()方法、offsetLeft和offsetWidth属性。的更多相关文章
- 图片滚动js 实现图片无缝滚动
在改章节中,我们主要介绍图片滚动的内容,自我感觉有个不错的建议和大家分享下 非常平滑的JS图片滚动特效代码,无缝循环,速度可自定义,鼠标悬停时停止.它的特点是JS和图片地址分离,这样做你就经易的从数据 ...
- 用JS写的无缝滚动特效
代码如下 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta ...
- jQuery图片无缝滚动JS代码ul/li结构
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Sequence.js 实现带有视差滚动特效的图片滑块
Sequence.js 功能齐全,除了能实现之前分享过的现代的图片滑动效果,还可以融合当前非常流行的视差滚动(Parallax Scrolling)效果.让多层背景以不同的速度移动,形成立体的运动效果 ...
- jQuery 间歇式无缝滚动特效分享(三张图片平行滚动)
最近项目中门户首页需要做出图片间歇式无缝滚动特效,但是在网上找资料都是不太理想,不过可以指导.最后自己写了一个demo实现了这个特效,分享出来. 1.jquery.cxscroll.js /*! * ...
- jQuery图片无缝滚动
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JavaScript学习笔记5 之 计时器 & scroll、offset、client系列属性 & 图片无缝滚动
一.计时器 setInterval ( 函数/名称 , 毫秒数 )表示每经过一定的毫秒后,执行一次相应的函数(重复) setTimeout ( 函数/名称 , 毫秒数 ) 表示经过一定的毫秒后,只执行 ...
- jquery图片无缝滚动代码左右 上下无缝滚动图片
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 应用JavaScript搭建一个简易页面图片无缝滚动效果
页面图片无缝滚动JavaScript原理:移动的区块包含图片内容,区块相对父级元素进行定位脱离文档流.再令区块的left值每隔固定的时间进行等量减少(或增大)从而实现区块的匀速运动.由于每次间隔移动的 ...
随机推荐
- webpack常用配置项配置文件介绍
一.webpack基础 1.在项目中生成package.json:在项目根目录中输入npm init,根据提示输入相应信息.(也可以不生成package.json文件,但是package.json是很 ...
- Find Median from Data Stream - LeetCode
Median is the middle value in an ordered integer list. If the size of the list is even, there is no ...
- luogu P2423 双塔
题目描述 2001年9月11日,一场突发的灾难将纽约世界贸易中心大厦夷为平地,Mr. F曾亲眼目睹了这次灾难.为了纪念“911”事件,Mr. F决定自己用水晶来搭建一座双塔.Mr. F有N块水晶,每块 ...
- java反射和代理
这一篇我们说说反射和动态代理,为什么这两个要一起说呢?因为动态代理中会用到反射,而且java中反射的用处太多了,基本上无处不在,而且功能十分强大: 1.反射简介 反射是什么呢?一般都是很专业的说法:在 ...
- win8.1安装VMware Error:This product may not be installed on a comuputer that has Microsoft HyperV installed
之前用的win7,安装虚机没遇到这问题,换了win8.1后,再安装虚机,就会出现下面的错误.没办法,还是记录一下吧. Error:This product may not be installed o ...
- Path特效之PathMeasure打造万能路径动效
前面两篇文章主要讲解了 Path 的概念和基本使用,今天我们一起利用 Path 做个比较实用的小例子: 上一篇我们使用 Path 绘制了一个小桃心,我们这一篇继续围绕着这个小桃心进行展开: ----- ...
- 【GLSL教程】(一)图形流水线 【转】
http://blog.csdn.net/racehorse/article/details/6593719 这是一些列来自lighthouse3d的GLSL教程,非常适合入门.我将边学习边翻译该教程 ...
- oracle软件安装完毕之后,如何创建数据库
oracle软件安装完毕之后,如何创建数据库 学习了:https://zhidao.baidu.com/question/1800966379896476147.html 使用了Database Co ...
- .NET中XML 注释 SandCastle 帮助文件.hhp 使用HTML Help Workshop生成CHM文件
一.摘要 在本系列的第一篇文章介绍了.NET中XML注释的用途, 本篇文章将讲解如何使用XML注释生成与MSDN一样的帮助文件.主要介绍NDoc的继承者:SandCastle. .SandCastle ...
- DFRobot万物互联大赛第一轮
前言 原创文章,转载引用务必注明链接,水平有限,如有疏漏,欢迎指正. DF搞的这个比赛还挺有趣:micro:bit × OBLOQ DF创客社区玩转物联网挑战赛,一边在写文章一边在爱奇艺上看着印度电影 ...