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 相关文章推荐
一个简单的js鼠标划过切换效果
Jun 30 Javascript
JQuery中extend使用介绍
Mar 13 Javascript
jQuery1.9.1针对checkbox的调整方法(prop)
May 01 Javascript
js中的hasOwnProperty和isPrototypeOf方法使用实例
Jun 06 Javascript
对 jQuery 中 data 方法的误解分析
Jun 18 Javascript
通过location.replace禁止浏览器后退防止重复提交
Sep 04 Javascript
javascript实现Table排序的方法
May 15 Javascript
Angularjs 动态改变title标题(兼容ios)
Dec 29 Javascript
iframe与主框架跨域相互访问实现方法
Sep 14 Javascript
Vue中fragment.js使用方法小结
Feb 17 Javascript
js实现验证码功能
Jul 24 Javascript
prettier自动格式化去换行的实现代码
Aug 25 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
用PHP实现文件上传二法
2006/10/09 PHP
php 自写函数代码 获取关键字 去超链接
2010/02/08 PHP
PHP实现获取域名的方法小结
2014/11/05 PHP
PHP生成指定随机字符串的简单实现方法
2015/04/01 PHP
Laravel框架实现model层的增删改查(CURD)操作示例
2018/05/12 PHP
14款经典网页图片和文字特效的jQuery插件-前端开发必备
2015/08/25 Javascript
jQuery的实例及必知重要的jQuery选择器详解
2016/05/20 Javascript
jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)
2016/06/07 Javascript
JavaScript基于对象去除数组重复项的方法
2016/10/09 Javascript
在vue项目中安装使用Mint-UI的方法
2017/12/27 Javascript
vue父组件异步获取数据传给子组件的方法
2018/07/26 Javascript
使用koa-log4管理nodeJs日志笔记的使用方法
2018/11/30 NodeJs
微信小程序生成分享海报方法(附带二维码生成)
2019/03/29 Javascript
Vue项目中配置pug解析支持
2019/05/10 Javascript
vue 中的动态传参和query传参操作
2020/11/09 Javascript
[02:38]DOTA2亚洲邀请赛 IG战队巡礼
2015/02/03 DOTA
浅析Python中else语句块的使用技巧
2016/06/16 Python
Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
2017/03/20 Python
Python3 操作符重载方法示例
2017/11/23 Python
对pyqt5中QTabWidget的相关操作详解
2019/06/21 Python
Django项目中实现使用qq第三方登录功能
2019/08/13 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
2020/03/23 Python
500行python代码实现飞机大战
2020/04/24 Python
python 实现rolling和apply函数的向下取值操作
2020/06/08 Python
Python 基于jwt实现认证机制流程解析
2020/06/22 Python
Pycharm无法打开双击没反应的问题及解决方案
2020/08/17 Python
美国最大的宠物用品零售商:PetSmart
2016/11/14 全球购物
Homestay中文官网:全球寄宿家庭
2018/10/18 全球购物
js正则匹配markdown里的图片标签的实现
2021/03/24 Javascript
高中运动会入场词
2014/02/14 职场文书
金融事务专业毕业生求职信
2014/02/23 职场文书
网络工程专业自荐信范文
2014/03/16 职场文书
2015年毕业生自我鉴定模板
2014/09/19 职场文书
校园新闻广播稿5篇
2014/10/10 职场文书
MySQL创建高性能索引的全步骤
2021/05/02 MySQL
python小型的音频操作库mp3Play
2022/04/24 Python