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渐显(fadeIn)渐隐(fadeOut)类
Jun 19 Javascript
IE的有条件注释判定IE版本详解(附实例代码)
Jan 04 Javascript
asp.net网站开发中用jquery实现滚动浏览器滚动条加载数据(类似于腾讯微博)
Mar 14 Javascript
jQuery:节点(插入,复制,替换,删除)操作
Mar 04 Javascript
值得分享的Bootstrap Ace模板实现菜单和Tab页效果
Dec 30 Javascript
通过正则表达式获取url中参数的简单实现
Jun 07 Javascript
H5移动端适配 Flexible方案
Oct 24 Javascript
JavaScript函数中的this四种绑定形式
Aug 15 Javascript
在Vue-cli里应用Vuex的state和mutations方法
Sep 16 Javascript
Vue中的组件及路由使用实例代码详解
May 22 Javascript
JavaScript使用表单元素验证表单的示例代码
Aug 20 Javascript
微信jssdk踩坑之签名错误invalid signature
May 19 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数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
2011/05/29 PHP
php获取post中的json数据的实现方法
2011/06/08 PHP
什么是PHP7中的孤儿进程与僵尸进程
2019/04/14 PHP
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
2008/08/05 Javascript
jquery中通过父级查找进行定位示例
2013/06/28 Javascript
自己动手实现jQuery Callbacks完整功能代码详解
2013/11/25 Javascript
js实现数组转换成json
2015/06/26 Javascript
Jquery日历插件制作简单日历
2015/10/28 Javascript
AngularJS单选框及多选框实现双向动态绑定
2016/01/13 Javascript
基于JavaScript FileReader上传图片显示本地链接
2016/05/27 Javascript
vue component组件使用方法详解
2017/07/14 Javascript
jQuery实现table中两列CheckBox只能选中一个的示例
2017/09/22 jQuery
Vue.js做select下拉列表的实例(ul-li标签仿select标签)
2018/03/02 Javascript
vue引用js文件的多种方式(推荐)
2018/05/17 Javascript
浅谈Angular单元测试总结
2019/03/22 Javascript
用js简单提供增删改查接口
2019/05/12 Javascript
一篇文章带你搞懂Vue虚拟Dom与diff算法
2020/08/25 Javascript
Vue.js暴露方法给WebView的使用操作
2020/09/07 Javascript
Python正则表达式匹配ip地址实例
2014/10/09 Python
python运行时间的几种方法
2016/06/17 Python
简单谈谈Python中的反转字符串问题
2016/10/24 Python
不到20行代码用Python做一个智能聊天机器人
2019/04/19 Python
Python3.5 + sklearn利用SVM自动识别字母验证码方法示例
2019/05/10 Python
python与字符编码问题
2019/05/24 Python
Django用户认证系统 User对象解析
2019/08/02 Python
使用opencv中匹配点对的坐标提取方式
2020/06/04 Python
Pycharm配置autopep8实现流程解析
2020/11/28 Python
联想印度官方网上商店:Lenovo India
2019/08/24 全球购物
大学应届生求职简历的自我评价
2013/10/08 职场文书
总经理秘书岗位职责
2014/03/17 职场文书
后备干部培训方案
2014/05/22 职场文书
美术第二课堂活动总结
2014/07/08 职场文书
分公司总经理岗位职责
2014/07/30 职场文书
思想道德自我评价2015
2015/03/09 职场文书
自书遗嘱范文
2015/08/07 职场文书
python数字图像处理之图像的批量处理
2022/06/28 Python