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 刷新框架页的代码
Apr 13 Javascript
jquery 利用show和hidden实现级联菜单示例代码
Aug 09 Javascript
一个JavaScript变量声明的知识点
Oct 28 Javascript
jquery获取css中的选择器(实例讲解)
Dec 02 Javascript
js生成动态表格并为每个单元格添加单击事件的方法
Apr 14 Javascript
jQuery对象初始化的传参方式
Feb 26 Javascript
JQuery中使文本框获得焦点的方法实例分析
Feb 28 Javascript
javascript+HTML5 Canvas绘制转盘抽奖
May 16 Javascript
vue使用element-ui的el-input监听不了回车事件的解决方法
Jan 12 Javascript
React通过redux-persist持久化数据存储的方法示例
Feb 14 Javascript
javascript面向对象程序设计实践常用知识点总结
Jul 29 Javascript
js实现轮播图特效
May 28 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的慢速日志引起的Mysql错误问题分析
2014/05/13 PHP
基于PHP+jQuery+MySql实现红蓝(顶踩)投票代码
2015/08/25 PHP
浅析PHP关键词替换的类(避免重复替换,保留与还原原始链接)
2015/09/22 PHP
WordPress中用于创建以及获取侧边栏的PHP函数讲解
2015/12/29 PHP
YII Framework框架教程之使用YIIC快速创建YII应用详解
2016/03/15 PHP
利用PHP抓取百度阅读的方法示例
2016/12/18 PHP
jQuery 通过事件委派一次绑定多种事件,以减少事件冗余
2010/06/30 Javascript
JS焦点图切换,上下翻转
2011/05/12 Javascript
基于jquery的9行js轻松实现tab控件示例
2013/10/12 Javascript
Extjs grid panel自带滚动条失效的解决方法
2014/09/11 Javascript
JavaScript的设计模式经典之代理模式
2016/02/24 Javascript
浅谈Angularjs link和compile的使用区别
2016/10/21 Javascript
15个非常实用的JavaScript代码片段
2016/12/18 Javascript
JS基于面向对象实现的选项卡效果示例
2016/12/20 Javascript
JavaScript无阻塞加载和defer、async详解
2017/02/26 Javascript
JavaScript实现弹窗效果代码分析
2017/03/09 Javascript
简述Angular 5 快速入门
2017/11/04 Javascript
jQuery滚动条美化插件nicescroll简单用法示例
2018/04/18 jQuery
jQuery加PHP实现图片上传并提交的示例代码
2020/07/16 jQuery
[06:07]刀塔密之二:攻之吾命受之吾幸
2014/07/03 DOTA
python3抓取中文网页的方法
2015/07/28 Python
Python编程实现生成特定范围内不重复多个随机数的2种方法
2017/04/14 Python
Python双精度浮点数运算并分行显示操作示例
2017/07/21 Python
Python使用Shelve保存对象方法总结
2019/01/28 Python
详解Python下载图片并保存本地的两种方式
2019/05/15 Python
Python pandas.DataFrame 找出有空值的行
2019/09/09 Python
Python可变对象与不可变对象原理解析
2020/02/25 Python
ziaja齐叶雅官方海外旗舰店:来自波兰的天然护肤品牌
2017/01/02 全球购物
印尼美容产品购物网站:PerfectBeauty.id
2017/12/01 全球购物
阳光体育:Sunny Sports(购买露营和远足设备)
2018/08/07 全球购物
资深地理教师自我评价
2013/09/21 职场文书
大学生预备党员自我评价分享
2013/11/16 职场文书
合作意向协议书范本
2014/03/31 职场文书
劳资协议书范本
2014/04/23 职场文书
个人授权委托书样本
2014/09/13 职场文书
导游词欢迎词
2015/02/02 职场文书