JS左右无缝滚动(一般方法+面向对象方法)


Posted in Javascript onAugust 17, 2012
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=GBK" /> 
<title>JS左右无缝滚动(一般方法+面向对象方法)</title> 
<style type="text/css"> 
.clearfix:after {content:"."; display:block; height:0; visibility:hidden; clear:both; } 
.clearfix { *zoom:1; } 
body{background:gray;} 
#wrap{width:810px; height:160px; 
border:1px solid black; 
position:relative; 
left:50%; 
top:50%; 
margin-left:-410px; 
margin-top:200px; 
background:#fff; 
overflow:hidden;} 
#wrap ul{margin:0px; 
padding:0px; 
position:absolute; 
top:0px; 
left:0px;} 
#wrap ul li{ list-style:none; float:left;margin:5px 10px;width:265px;} 
#wrap ul li img{ border:1px black solid; padding:10px;} 
</style> 
<!--script type="text/javascript"> 
window.onload=function(){ //一般方法 
var wrap=document.getElementById("wrap"); 
var wrap_ul=wrap.getElementsByTagName("ul")[0]; 
var wrap_li=wrap.getElementsByTagName("li"); 
wrap_ul.innerHTML+=wrap_ul.innerHTML; 
wrap_ul.style.width=(wrap_li[0].offsetWidth+20)*wrap_li.length+"px"; 
Autoscroll=setInterval(scroll,100); 
function scroll(){ 
wrap_ul.style.left=wrap_ul.offsetLeft-3+"px"; //这里因为ie对offsetLeft的解析不一样,所以ie下必须减大于等于3的数 
if(wrap_ul.offsetLeft<=-wrap_ul.offsetWidth/2){ 
wrap_ul.style.left="0px"; 
}else if(wrap_ul.offsetLeft>=0){ 
wrap_ul.style.left=-wrap_ul.offsetWidth/2+"px"; 
} 
} 
wrap.onmouseover=function(){ 
clearInterval(Autoscroll); 
} 
wrap.onmouseout=function(){ 
Autoscroll=setInterval(scroll,100); 
} 
} 
</script--> 
<script type="text/javascript"> 
function Slide(obj,direction,speed){ //面向对象的方法,可以自由控制方向,speed=>3 ie下可以 
this.container=document.getElementById(obj); 
this.content=this.container.getElementsByTagName("ul")[0]; 
this.lis=this.content.getElementsByTagName("li"); 
this.content.innerHTML+=this.content.innerHTML; 
this.content.style.width=(this.lis[0].offsetWidth+20)*this.lis.length+"px"; 
var that=this 
if(direction=="left"){ 
this.speed=-speed 
}else if(direction=="right"){ 
this.speed=speed 
} 
Slide.prototype.scroll=function(){ 
this.content.style.left=this.content.offsetLeft+this.speed+"px"; 
if(this.content.offsetLeft <= -this.content.offsetWidth/2){ 
this.content.style.left ="0px"; 
}else if(this.content.offsetLeft >=0){ 
this.content.style.left = -this.content.offsetWidth/2 + "px"; 
} 
} 
this.time=setInterval(function(){that.scroll()},100); 
this.container.onmouseover=function(){ 
clearInterval(that.time); 
} 
this.container.onmouseout=function(){ 
that.time=setInterval(function(){that.scroll()},100); 
} 
} 
</script> 
<script type="text/javascript"> 
window.onload=function(){new Slide("wrap","left",5)} 
</script> </head> 
<body> 
<div id="wrap"> 
<ul class="clearfix"> 
<li><a href="#"><img src="http://www.baidu.com/img/baidu_sylogo1.gif" /></a></li> 
<li><a href="#"><img src="http://www.baidu.com/img/baidu_sylogo1.gif" /></a></li> 
<li><a href="#"><img src="http://www.baidu.com/img/baidu_sylogo1.gif" /></a></li> 
<li><a href="#"><img src="http://www.baidu.com/img/baidu_sylogo1.gif" /></a></li> 
<li><a href="#"><img src="http://www.baidu.com/img/baidu_sylogo1.gif" /></a></li> 
</ul> 
</div> 
</body> 
</html>
Javascript 相关文章推荐
Js 获取HTML DOM节点元素的方法小结
Apr 24 Javascript
使用js判断控件是否获得焦点
Jan 03 Javascript
在Node.js中使用HTTP上传文件的方法
Jun 23 Javascript
jQuery移动页面开发中的触摸事件与虚拟鼠标事件简介
Dec 03 Javascript
微信和qq时间格式模板实例详解
Oct 21 Javascript
使用vue实现点击按钮滑出面板的实现代码
Jan 10 Javascript
js学习总结_基于数据类型检测的四种方式(必看)
Jul 04 Javascript
vue多级复杂列表展开/折叠及全选/分组全选实现
Nov 05 Javascript
在Vue项目中,防止页面被缩放和放大示例
Oct 28 Javascript
vue使用map代替Aarry数组循环遍历的方法
Apr 30 Javascript
JavaScript直接调用函数与call调用的区别实例分析
May 22 Javascript
vue实现图书管理系统
Dec 29 Vue.js
javascript基础知识大全 便于大家学习,也便于我自己查看
Aug 17 #Javascript
jquery插件制作 手风琴Panel效果实现
Aug 17 #Javascript
jquery插件制作 提示框插件实现代码
Aug 17 #Javascript
jquery插件制作 自增长输入框实现代码
Aug 17 #jQuery
jquery插件制作 表单验证实现代码
Aug 17 #Javascript
jquery插件制作 图片走廊 gallery
Aug 17 #Javascript
jquery插件制作教程 txtHover
Aug 17 #Javascript
You might like
php 在线打包_支持子目录
2008/06/28 PHP
PHP采集相关教程之一 CURL函数库
2010/02/15 PHP
用mysql_fetch_array()获取当前行数据的方法详解
2013/06/05 PHP
php实现网页上一页下一页翻页过程详解
2019/06/28 PHP
jquery之Document元素选择器篇
2008/08/14 Javascript
js toFixed()方法的重写实现精度的统一
2014/03/06 Javascript
JavaScript动态设置div的样式的方法
2015/12/26 Javascript
动态加载js文件简单示例
2016/04/21 Javascript
JS代码实现table数据分页效果
2016/05/26 Javascript
浅谈javascript中的数据类型转换
2016/12/27 Javascript
vue-router的HTML5 History 模式设置
2018/09/08 Javascript
Vue.js样式动态绑定实现小结
2019/01/24 Javascript
JS使用H5实现图片预览功能
2019/09/30 Javascript
用JS实现一个简单的打砖块游戏
2019/12/11 Javascript
node事件循环和process模块实例分析
2020/02/14 Javascript
JS常用排序方法实例代码解析
2020/03/03 Javascript
如何在node环境实现“get数据解析”代码实例
2020/07/03 Javascript
python zip文件 压缩
2008/12/24 Python
在Python中使用sort()方法进行排序的简单教程
2015/05/21 Python
Python文件读取的3种方法及路径转义
2015/06/21 Python
python单例模式获取IP代理的方法详解
2018/09/13 Python
对python中的argv和argc使用详解
2018/12/15 Python
使用TensorFlow实现二分类的方法示例
2019/02/05 Python
Python Numpy计算各类距离的方法
2019/07/05 Python
Python字符串处理的8招秘籍(小结)
2019/08/13 Python
Python操作PostgreSql数据库的方法(基本的增删改查)
2020/12/29 Python
浅谈关于html5中图片抛物线运动的一些心得
2018/01/09 HTML / CSS
金牌葡萄酒俱乐部:Gold Medal Wine Club
2017/11/02 全球购物
Shopee菲律宾:在线购买和出售
2019/11/25 全球购物
班组长岗位职责范本
2014/01/05 职场文书
公司活动策划方案
2014/01/13 职场文书
优秀技术工人先进材料
2014/02/17 职场文书
2014年迎新年活动方案
2014/02/19 职场文书
企业形象策划方案
2014/05/29 职场文书
我的中国梦演讲稿高中篇
2014/08/19 职场文书
兴趣班停课通知
2015/04/24 职场文书