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 相关文章推荐
Firefox和IE浏览器兼容JS脚本写法小结
Jul 07 Javascript
如何通过javascript操作web控件的自定义属性
Nov 25 Javascript
利用浏览器全屏api实现js全屏
Jan 16 Javascript
ExtJS4 表格的嵌套 rowExpander应用
May 02 Javascript
jQuery学习笔记之基础中的基础
Jan 19 Javascript
Jquery组件easyUi实现表单验证示例
Aug 23 Javascript
JavaScript Ajax实现异步通信
Dec 14 Javascript
Material(包括Material Icon)在Angular2中的使用详解
Feb 11 Javascript
JS扩展String.prototype.format字符串拼接的功能
Mar 09 Javascript
Node.js net模块功能及事件监听用法分析
Jan 05 Javascript
node中实现删除目录的几种方法
Jun 24 Javascript
vue中div禁止点击事件的实现
Apr 02 Vue.js
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
php执行sql语句的写法
2009/03/10 PHP
thinkPHP查询方式小结
2016/01/09 PHP
PHP+swoole实现简单多人在线聊天群发
2016/01/19 PHP
PHP 数组基本操作小结(推荐)
2016/06/13 PHP
javascript 按回车键相应按钮提交事件
2009/11/02 Javascript
基于jQuery的消息提示插件 DivAlert之旅(二)
2010/04/01 Javascript
关于JavaScript定义类和对象的几种方式
2010/11/09 Javascript
分享一个我自己写的ToolTip提示插件(附源码)
2013/01/20 Javascript
js实现动态添加、删除行、onkeyup表格求和示例
2013/08/18 Javascript
JavaScript调试工具汇总
2014/12/23 Javascript
JS简单计算器实例
2015/01/20 Javascript
JQ技术实现注册页面带有校验密码强度
2015/07/27 Javascript
jQuery插件实现适用于移动端的地址选择器
2016/02/18 Javascript
AngularJS基础 ng-list 指令详解及示例代码
2016/08/02 Javascript
jquery select2的使用心得(推荐)
2016/12/04 Javascript
springMVC + easyui + $.ajaxFileUpload实现文件上传注意事项
2017/04/23 Javascript
整理一些最近经常遇到的前端面试题
2017/04/25 Javascript
详解Vue 普通对象数据更新与 file 对象数据更新
2017/04/26 Javascript
Django+Vue.js搭建前后端分离项目的示例
2017/08/07 Javascript
微信小程序多列选择器range-key使用详解
2020/03/30 Javascript
微信小程序表单验证form提交错误提示效果
2020/06/19 Javascript
不得不知的ES6小技巧
2018/07/28 Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
2019/11/21 Javascript
vue element-ui实现input输入框金额数字添加千分位
2019/12/29 Javascript
微信小程序实现点击导航条切换页面
2020/11/19 Javascript
Python实现的端口扫描功能示例
2018/04/08 Python
python实现简易学生信息管理系统
2020/04/05 Python
python 使用while写猜年龄小游戏过程解析
2019/10/07 Python
解决pytorch DataLoader num_workers出现的问题
2020/01/14 Python
化学相关工作求职信
2013/10/02 职场文书
会计电算化专业个人的自我评价
2013/11/24 职场文书
幼儿园美术教学反思
2014/01/31 职场文书
八项规定整改方案
2014/02/21 职场文书
2014年教师节活动总结
2014/08/29 职场文书
护士工作失误检讨书
2014/09/14 职场文书
爱岗敬业事迹材料
2019/06/20 职场文书