关于网页中的无缝滚动的js代码


Posted in Javascript onJune 09, 2016

随便打开一个网页,基本上都会看到无缝滚动或者轮播图,比如淘宝还有360官网的首页

关于网页中的无缝滚动的js代码关于网页中的无缝滚动的js代码关于网页中的无缝滚动的js代码

观察这些轮播图可以发现图片可以来回循环地切换,那么是怎样做到的呢?

做到轮播图或者说无缝滚动主要有两种方式,一种是通过对图片的明暗即透明图的改变来显示或隐藏图片,另一种是通过运动框架,将图片显示在可视区域。这两种方式都会用到同一个东西,那就是定时器。

JavaScript中的定时器有两种,1.setInterval();2.setTimeout();相对应的关闭定时器也有两种方法,clearInterval()和clearTimeout()。两种定时器的区别是前者可以执行多次,而后者只执行一次。

这次只说无缝滚动,下篇介绍轮播图。

实现简单的无缝滚动的代码如下:

/*完整的代码*/
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<style>
div{position:relative;width:630px;height:220px;border:solid 2px black;overflow:hidden;}
ul{position:absolute;top:10px;left:0;}
img{width:200px;height:200px;float:left;margin-right:10px;border:2px solid yellow;}
li{list-style:none;margin:0;padding:0;}
ul{margin:0;padding:0;}
</style>
<script>
window.onload=function(){
var oUl=document.getElementById("main");
var aLi=oUl.getElementsByTagName("img");
var oInput=document.getElementsByTagName("input")[0];
oUl.innerHTML+=oUl.innerHTML;
oUl.style.width=aLi.length*aLi[0].offsetWidth+"px";
var timer=null;
setInterval(function(){
oUl.style.left=oUl.offsetLeft-8+"px";
if(oUl.offsetLeft<-oUl.offsetWidth/2){
oUl.style.left="0px";
}
},30);
};
</script>
</head>
<body>
<div>
<ul id="main">
<li><img src="../img/1.jpg"></li>
<li><img src="../img/2.jpg"></li>
<li><img src="../img/3.jpg"></li>
<li><img src="../img/4.jpg"></li>
<li><img src="../img/9.jpg"></li>
</ul>
</div>
</div>
</body>
</html>

/-----------------------------------------------------------------------------------------------------------------------------------------------------------/

无缝滚动的布局比较简单,下面主要讲解JS部分内容:

首先分别获取到ul和li,再将ul里面的内容复制一份,通过js动态修改ul的宽度(如果要做到上下无缝滚动,则修改其宽度),最后开定时器,代码中是每隔30微秒ul向左移动8个像素,而当ul的可视左边距小于ul总长度的一半时,使其变为0。由于计算机的运行速度非常快,所以几乎感觉不到这一变化。我们看到的只是图片不断地向左移动,无休止的运动。

以上所述是小编给大家介绍的关于网页中的无缝滚动的js代码,希望对大家有所帮助!

Javascript 相关文章推荐
默认让页面的第一个控件选中的javascript代码
Dec 26 Javascript
javascript面向对象之Javascript 继承
May 04 Javascript
用jquery实现下拉菜单效果的代码
Jul 25 Javascript
jQuery表格插件ParamQuery简单使用方法示例
Dec 05 Javascript
Node.js模拟浏览器文件上传示例
Mar 26 Javascript
js实现div拖动动画运行轨迹效果代码分享
Aug 27 Javascript
javascript如何实现暂停功能
Nov 06 Javascript
JavaScript性能优化之小知识总结
Nov 20 Javascript
json定义及jquery操作json的方法
Oct 03 Javascript
Swiper 4.x 使用方法(移动端网站的内容触摸滑动)
May 17 Javascript
JS解析后台返回的JSON格式数据实例
Aug 06 Javascript
Vue实现鼠标经过文字显示悬浮框效果的示例代码
Oct 14 Javascript
Document.body.scrollTop的值总为零的快速解决办法
Jun 09 #Javascript
JavaScript事件学习小结(三)js事件对象
Jun 09 #Javascript
javaScript事件学习小结(四)event的公共成员(属性和方法)
Jun 09 #Javascript
JavaScript事件学习小结(一)事件流
Jun 09 #Javascript
JavaScript事件学习小结(五)js中事件类型之鼠标事件
Jun 09 #Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
Jun 09 #Javascript
JS实现星星评分功能实例代码(两种方法)
Jun 09 #Javascript
You might like
Joomla下利用configuration.php存储简单数据
2010/05/19 PHP
ThinkPHP的Widget扩展实例
2014/06/19 PHP
PHP大文件分割上传 PHP分片上传
2017/08/28 PHP
javascript数组的扩展实现代码集合
2008/06/01 Javascript
jquery 图片预加载 自动等比例缩放插件
2008/12/25 Javascript
js之事件冒泡和事件捕获详细介绍
2013/10/28 Javascript
用jquery的方法制作一个简单的导航栏
2014/06/23 Javascript
javascript实现回到顶部特效
2015/05/06 Javascript
DIV随滚动条滚动而滚动的实现代码【推荐】
2016/04/12 Javascript
js中的触发事件对象event.srcElement与event.target详解
2017/03/15 Javascript
angularjs项目的页面跳转如何实现(5种方法)
2017/05/25 Javascript
微信小程序js文件改变参数并在视图上及时更新【推荐】
2018/06/11 Javascript
jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法
2019/01/18 jQuery
微信小程序蓝牙连接小票打印机实例代码详解
2019/06/03 Javascript
vue路由跳转传递参数的方式总结
2020/05/10 Javascript
[59:59]EG vs IG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python进程管理工具supervisor使用实例
2014/09/17 Python
python 字符串转列表 list 出现\ufeff的解决方法
2017/06/22 Python
[原创]pip和pygal的安装实例教程
2017/12/07 Python
[原创]python爬虫(入门教程、视频教程)
2018/01/08 Python
Python基于OpenCV实现视频的人脸检测
2018/01/23 Python
python操作文件的参数整理
2019/06/11 Python
使用django的ORM框架按月统计近一年内的数据方法
2019/07/18 Python
在Python中append以及extend返回None的例子
2019/07/20 Python
python对execl 处理操作代码
2020/06/22 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
2020/06/24 Python
Python 数据的累加与统计的示例代码
2020/08/03 Python
Vans澳大利亚官网:购买鞋子、服装及配件
2019/09/05 全球购物
Carmen Sol官网:购买果冻鞋、手袋和配件
2021/01/01 全球购物
函数指针的定义是什么
2016/08/14 面试题
摄影专业毕业生求职信
2014/03/13 职场文书
机关保密承诺书
2014/06/03 职场文书
党的群众路线教育实践活动个人对照检查材料(企业)
2014/11/05 职场文书
2014年人事科工作总结
2014/11/19 职场文书
远程教育集中轮训基层干部培训班学习心得体会
2016/01/09 职场文书
导游词之杭州西湖
2019/09/19 职场文书