javascript实现左右控制无缝滚动


Posted in Javascript onDecember 31, 2014

无缝滚动是项目中经常需要用到的一种特效,网上也有很多的示例代码,这里给大家分享的是一段比较简单实用的,而且兼容性也不错的代码,小伙伴们仔细研究下吧。

html 代码:

<</SPAN>html>

<</SPAN>head lang="en">

    <</SPAN>meta charset="UTF-8">

    <</SPAN>title>无缝滚动</</SPAN>title>

    <</SPAN>script src="js/0010.js"></</SPAN>script>

    <</SPAN>link rel="stylesheet" type="text/css" href="css/0010.css" />

</</SPAN>head>

<</SPAN>body>

   <</SPAN>a href="javascript:">向左走</</SPAN>a>

   <</SPAN>a href="javascript:">向右走</</SPAN>a>

   <</SPAN>div id="div1">

       <</SPAN>ul>

           <</SPAN>li><</SPAN>img src="image/1.jpg"></</SPAN>li>

           <</SPAN>li><</SPAN>img src="image/2.jpg"></</SPAN>li>

           <</SPAN>li><</SPAN>img src="image/3.jpg"></</SPAN>li>

           <</SPAN>li><</SPAN>img src="image/4.jpg"></</SPAN>li>

       </</SPAN>ul>

   </</SPAN>div>

</</SPAN>body>

</</SPAN>html>

CSS代码

*{

    margin:0;

    padding: 0;

}

#div1{

    overflow: hidden;

    background: blue;

    position: relative;

    width: 600px;

    height: 150px;

    margin:100px auto;

}

#div1 ul{

    position: absolute;

    left: 0px;

    top: 0px;

    list-style: none;

}

#div1 ul li{

    float: left;

}

#div1 ul li img{

    width:150px;

    height:150px;

}

js:代码

window.onload=function(){

    var oDiv=document.getElementById('div1');

    var oUl=oDiv.getElementsByTagName('ul')[0];

    var aLi=oUl.getElementsByTagName('li');

    var timer=null;

    var speed=2;//控制滚动速度以及方向

    oUl.innerHTML=oUl.innerHTML+oUl.innerHTML;

    oUl.style.width=aLi[0].offsetWidth*aLi.length+'px';

    timer=setInterval(move,30);

    oDiv.onmouseover=function(){//鼠标移入暂定

        clearInterval(timer);

    };

    oDiv.onmouseout=function(){//鼠标移出继续滚动

        timer=setInterval(move,30);

    }

    document.getElementsByTagName('a')[0].onclick=function(){

        speed=-2;

    }

    document.getElementsByTagName('a')[1].onclick=function(){

        speed=2;

    }

    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';

    }

}

效果是不是非常棒呢。

Javascript 相关文章推荐
用倒置滤镜把div倒置,再把table倒置。
Jul 31 Javascript
JS写的贪吃蛇游戏(个人练习)
Jul 08 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
Jun 26 Javascript
玩转JavaScript OOP - 类的实现详解
Jun 08 Javascript
JavaScript实现同一个页面打开多张图片
Dec 29 Javascript
javascript构造函数以及原型对象的理解
Jan 13 Javascript
Vue.js实现一个SPA登录页面的过程【推荐】
Apr 29 Javascript
JS实现生成由字母与数字组合的随机字符串功能详解
May 25 Javascript
vue下拉菜单组件(含搜索)的实现代码
Nov 25 Javascript
使用easyui从servlet传递json数据到前端页面的两种方法
Sep 05 Javascript
vue+springboot+element+vue-resource实现文件上传教程
Oct 21 Javascript
Html5生成验证码的示例代码
May 10 Javascript
javascript比较两个日期的先后示例代码
Dec 31 #Javascript
jQuery中[attribute*=value]选择器用法实例
Dec 31 #Javascript
jQuery中[attribute^=value]选择器用法实例
Dec 31 #Javascript
jQuery中[attribute=value]选择器用法实例
Dec 31 #Javascript
修复bash漏洞的shell脚本分享
Dec 31 #Javascript
分享一个常用的javascript静态类
Dec 31 #Javascript
兼容Firefox的Javascript XSLT 处理XML文件
Dec 31 #Javascript
You might like
phpMyAdmin下载、安装和使用入门教程
2007/05/31 PHP
PHP stristr() 函数(不区分大小写的字符串查找)
2010/06/03 PHP
PHP正则表达式 /i, /is, /s, /isU等介绍
2014/10/23 PHP
PHP时间类完整实例(非常实用)
2015/12/25 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
2016/11/25 PHP
基于PHP-FPM进程池探秘
2017/10/17 PHP
php基于 swoole 实现的异步处理任务功能示例
2019/08/13 PHP
用javascript实现页面打印的三种方法
2007/03/05 Javascript
javascript 读取xml,写入xml 实现代码
2009/07/10 Javascript
JS声明变量背后的编译原理剖析
2012/12/28 Javascript
javascript两种function的定义介绍及区别说明
2013/05/02 Javascript
JavaScript常用全局属性与方法记录积累
2013/07/03 Javascript
JS自调用匿名函数具体实现
2014/02/11 Javascript
浅析基于WEB前端页面的页面内容搜索的实现思路
2014/06/10 Javascript
javascript实现window.print()去除页眉页脚
2014/12/30 Javascript
JavaScript父子窗体间的调用方法
2015/03/31 Javascript
jQuery插件jquery-barcode实现条码打印的方法
2015/11/25 Javascript
JS限制输入框输入的实现代码
2018/07/02 Javascript
解决vue-cli项目webpack打包后iconfont文件路径的问题
2018/09/01 Javascript
JS window对象简单操作完整示例
2020/01/14 Javascript
Python2中的raw_input() 与 input()
2015/06/12 Python
Python实现的手机号归属地相关信息查询功能示例
2017/06/08 Python
利用python获取当前日期前后N天或N月日期的方法示例
2017/07/30 Python
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
2017/09/22 Python
python 读取txt中每行数据,并且保存到excel中的实例
2018/04/29 Python
python模拟预测一下新型冠状病毒肺炎的数据
2020/02/01 Python
解决pycharm导入本地py文件时,模块下方出现红色波浪线的问题
2020/06/01 Python
HTML5 drag和drop具体使用详解
2021/01/18 HTML / CSS
上课看小说检讨书
2014/02/22 职场文书
教师演讲稿开场白
2014/08/25 职场文书
解除劳动合同协议书
2014/09/17 职场文书
教师创先争优承诺书
2015/04/27 职场文书
2015年高校图书馆工作总结
2015/04/30 职场文书
导师鉴定意见
2015/06/05 职场文书
教你用python实现12306余票查询
2021/06/30 Python
python开发制作好看的时钟效果
2022/05/02 Python