HTML代码

<!--父容器要使用overflow: hidden;-->
<div id="imgsList" style="height:150px;width:980px;overflow: hidden;">
<!--滚动容器-->
<div id="marquee_self">
<ul id="marquee_ul">
<li><img src="" width="180px" height="100px"></li>
<li><img src="" width="180px" height="100px"></li>
<li><img src="" width="180px" height="100px"></li>
</ul>
</div>
</div>

CSS代码

#marquee_self *{
margin:;
padding:;
}
#marquee_self{
width: 1620px; //所有图片长度个数*width
height: 100px; //图片高度
//margin: 100px auto; 居中
background-color: #646464;
position: relative;
overflow: hidden;
}
#marquee_self ul{
position:absolute;
left:;
top:;
overflow: hidden; //li中超出部分隐藏掉
background-color: #3b7796; //背景色用来看问题
}
#marquee_self ul li{
float: left; //左对齐变为图片水平
width: 180px; //图片宽度
height: 100px; //图片高度
list-style: none; //无间隙
}

JS代码

<script type="text/javascript">
window.onload = function(){
var oDiv = document.getElementById('marquee_self'); //容器节点
var oUl = document.getElementById('marquee_ul'); //ul节点
var speed = -2; //初始化速度,默认往左 oUl.innerHTML += oUl.innerHTML;//ul中图片内容翻倍
var oLi= oUl.getElementsByTagName('li'); //获取ul节点下所有li集合
oUl.style.width = oLi.length*180+'px';//设置ul的宽度翻倍后的宽度,使图片可以放下 /*var oBtn1 = document.getElementById('btn_left'); 左移动按钮
var oBtn2 = document.getElementById('btn_right'); 右移动按钮*/ function move(){
if(oUl.offsetLeft<-(oUl.offsetWidth/2)){ //向左滚动,当向左滚动超过总ul长度一半时
oUl.style.left = 0; //变为从头开始
} if(oUl.offsetLeft > 0){ //向右滚动,当靠右的图1移出边框时
oUl.style.left = -(oUl.offsetWidth/2)+'px';
} oUl.style.left = oUl.offsetLeft + speed + 'px'; //图片移动
} /*oBtn1.addEventListener('click',function(){ //向左移动按钮点击事件
speed = -2;
},false);
oBtn2.addEventListener('click',function(){ //向右移动按钮点击事件
speed = 2;
},false);*/ var timer = setInterval(move,30);//全局变量 ,保存返回的定时器 oDiv.addEventListener('mouseout', function () { //鼠标移开添加计时器
timer = setInterval(move,30);
},false);
oDiv.addEventListener('mousemove', function () { //鼠标移入清除定时器
clearInterval(timer);
},false);
}
</script>

纯js无缝滚动的更多相关文章

  1. 手写JS无缝滚动插件

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  2. js无缝滚动原理及详解[转自刹那芳华]

    刚刚接触JS,网上找了一些关于无缝滚动的教程,但都大同小异,对我这种新手来说也只是会用,不知道什么意思,想要自己写个更是一头雾水.于是找了一些资料,详细说明一下JS无缝滚动的原理,相信看过这篇文章之后 ...

  3. js 无缝滚动效果学习

    <!DOCTYPE html> <html> <head> <title>无缝滚动测试</title> <meta http-equi ...

  4. 纯css3无缝滚动

    纯css3无缝向左滚动: HTML: <div class="marqueCon"> <div class="marque"> < ...

  5. js无缝滚动跑马灯

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. JS无缝滚动

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 31.0px Consolas; color: #2b7ec3 } p.p2 { margin: 0.0px ...

  7. [Js]无缝滚动

    效果: 1.默认缓慢往左滚动 2.放到左箭头上还是向左滚动,放到右箭头上向右滚动 3.放到图片上停止滚动,移出继续滚动 思路: 1.计算图片列表ul的宽度 2.开启定时器,使其向左边距不断增大,造成向 ...

  8. JS——无缝滚动

    1.描述——无缝滚动图片 2.代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...

  9. js无缝滚动,不平滑(求高人指点)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...

随机推荐

  1. Firemonkey的几个特色属性(一)

    基于FireMonkey的程序开发与VCL确实有些不同,很多属性发生了变化,尤其是外观方面. 1.Margins.Padding.Position Margins:指定了当前控件在父控件(Parent ...

  2. Android灯光系统框架分析【转】

    本文转载自: 首先别人的APP要能直接访问到你写的硬件或者不经过任何修改的APP能直接使用你的驱动,就需要使用系统自带的JNI,所以我们需要写出符合系统自带JNI文件的HAL文件和驱动程序,下面具体分 ...

  3. macOS搭建开发环境

    1.包管理器Homebrew使用下面的命令安装: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/insta ...

  4. Eclipse 创建maven项目 报错 one or more constraints have not been satisfied

    首先 在 pom.xml > plugins 中添加 <plugin> <groupId>org.apache.maven.plugins</groupId> ...

  5. Python3 list sort排序

    转自:https://blog.csdn.net/u010758410/article/details/79737498 当带排序列表的元素由多字段构成时,我们可以通过sorted(iterable ...

  6. yyyy-MM-dd'T'HH:mm:ss.SSS'Z'即UTC时间,与String日期转换

    本文为博主原创,未经允许不得转载: 最近在使用一个时间插件的时候,接收到的时间格式是 ’2017-11-27T03:16:03.944Z’ ,当我进行双向数据绑定的时候,由后台传过来的时间绑定到时间 ...

  7. js 模块化规范

    模块规范 CommonJS module.exports, exports 导出模块 require 加载模块, CommonJS 同步,服务端.实践者: nodejs ES6 export, exp ...

  8. HDU 5792 World is Exploding(树状数组+离散化)

    http://acm.split.hdu.edu.cn/showproblem.php?pid=5792 题意: 思路: lmin[i]:表示左边比第i个数小的个数. lmax[i]:表示左边比第i个 ...

  9. MRO和C3算法

    本节主要内容: 1.python多继承 2.python经典类的MRO 3.python新式类的MRO,C3算法 4.super() 一.python多继承 在python中类与类之间可以有继承关系, ...

  10. hdu 3094 A tree game 树上sg

    A tree game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Prob ...