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 相关文章推荐
ParseInt函数参数设置介绍
Jan 02 Javascript
遍历DOM对象内的元素属性示例代码
Feb 08 Javascript
js中匿名函数的创建与调用方法分析
Dec 19 Javascript
Angularjs制作简单的路由功能demo
Apr 14 Javascript
jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象
Jan 23 Javascript
angular-ui-sortable实现可拖拽排序列表
Dec 28 Javascript
javascript将url解析为json格式的两种方法
Aug 18 Javascript
SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题的解决方法
Jan 09 Javascript
Vue组件和Route的生命周期实例详解
Feb 10 Javascript
vue.js仿hover效果的实现方法示例
Jan 28 Javascript
jQuery each和js forEach用法比较
Feb 27 jQuery
vue点击当前路由高亮小案例
Sep 26 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
CI框架中libraries,helpers,hooks文件夹详细说明
2014/06/10 PHP
Yii+MYSQL锁表防止并发情况下重复数据的方法
2016/07/14 PHP
10个基于Jquery的幻灯片插件教程
2010/10/29 Javascript
JS 实现Json查询的方法实例
2013/04/12 Javascript
jquery mobile changepage的三种传参方法介绍
2013/09/13 Javascript
简体中文转换繁体中文(实现代码)
2013/12/25 Javascript
用js一次改变多个input的readonly属性值的方法
2014/06/11 Javascript
5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
2015/01/29 Javascript
js仿黑客帝国字母掉落效果代码分享
2020/11/08 Javascript
jQuery实现的fixedMenu下拉菜单效果代码
2015/08/24 Javascript
js随机生成26个大小写字母
2016/02/12 Javascript
NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
2016/07/26 NodeJs
JavaScript toUpperCase()方法使用详解
2016/08/26 Javascript
在js中做数字字符串补0(js补零)
2017/03/25 Javascript
Bootstrap弹出框(Popover)被挤压的问题小结
2017/07/11 Javascript
浅谈angularJS2中的界面跳转方法
2018/08/31 Javascript
js中获取URL参数的共用方法getRequest()方法实例详解
2018/10/24 Javascript
初探Vue3.0 中的一大亮点Proxy的使用
2018/12/06 Javascript
利用Webpack实现小程序多项目管理的方法
2019/02/25 Javascript
vue实现新闻展示页的步骤详解
2019/04/11 Javascript
js实现微信聊天效果
2020/08/09 Javascript
Python的批量远程管理和部署工具Fabric用法实例
2015/01/23 Python
python使用wmi模块获取windows下硬盘信息的方法
2015/05/15 Python
详解Tensorflow数据读取有三种方式(next_batch)
2018/02/01 Python
Python使用pyshp库读取shapefile信息的方法
2018/12/29 Python
用Python写一个模拟qq聊天小程序的代码实例
2019/03/06 Python
python3利用Socket实现通信的方法示例
2019/05/06 Python
Django处理Ajax发送的Get请求代码详解
2019/07/29 Python
sklearn-SVC实现与类参数详解
2019/12/10 Python
python实现将两个文件夹合并至另一个文件夹(制作数据集)
2020/04/03 Python
Python实现快速大文件比较代码解析
2020/09/04 Python
HTML5视频支持检测(检查浏览器是否支持视频播放)
2013/06/08 HTML / CSS
《浅水洼里的小鱼》听课反思
2014/02/28 职场文书
日语专业毕业生自荐书
2014/06/18 职场文书
关于做家务的心得体会
2016/01/23 职场文书
mysql聚集索引、辅助索引、覆盖索引、联合索引的使用
2022/02/12 MySQL