<!DOCTYPE html >

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>无标题文档</title>

<style>

.piczhanshi{width:976px;height:167px;border:1px #999999 solid;margin:0 auto;}

h3{

float:left;

background-color: #DDD;

float: left;

height: 35px;

width: 966px;

margin-top: 2px;

line-height: 35px;

text-align: center;

color: #064278;

font-size: 18px;

margin-left: 5px;

margin-right: 5px;

margin-bottom: 10px;

}

.tupian{

float:left;

width:966px;

height:120px;

margin-left:5px;margin-right:5px;

}

.demo{width:966px;height:110px;overflow:hidden;margin-top:5px;margin-bottom:5px;} //这个是scrollLeft作用的层,实现移动效果的是他的子级divindexmo

#indemo{width:800%;height:110px;} //这里的宽度为他的父级div层的8倍宽

.demo1,.demo2{float:left;}

</style>

</head>





<body>

<div id="piczhanshi" class="piczhanshi">

<h3>鸟巢效果图</h3>

<div id="tupian" class="tupian">//这里是包括图片的最外层div是为了定位而设置的与滚动没关系

<div id="demo" class="demo">   // 这里是包括图片的div,也就是须要实现子级div滚动的层(scrollLeft是相对于当前层的子层的),这里必须这是好宽高已经overflow:hidden

<div id="indemo">  //这个是须要滚动的图片包括层,他的宽度在图片左右滚动效果下,比他的父级div的宽大,这里设置为800%,也就是相当他的父级div来说,他等于父级div宽的8倍

<div id="demo1" class="demo1">//这里是包括图片的层,通过“float”和demo2实现无缝连接

<img src="image/niaochao1.jpg" />

<img src="image/niaochao2.jpg" />

<img src="image/niaochao3.jpg" />

<img src="image/niaochao4.jpg" />

<img src="image/niaochao5.jpg" />

<img src="image/niaochao6.jpg" />

<img src="image/niaochao7.jpg" />

<img src="image/niaochao8.jpg" />

<img src="image/niaochao9.jpg" />



</div>

<div id="demo2" class="demo2"></div>//这里通过js代码“ tab2.innerHTML=tab1.innerHTML;”得到demo1的值,通过“float”和demo1实现无缝连接

</div>

</div>

</div>

</div>

<script language="javascript">

 var speed=20;

 var tab=document.getElementById("demo");

 var tab1=document.getElementById("demo1");

 var tab2=document.getElementById("demo2");

 tab2.innerHTML=tab1.innerHTML; //通过赋值获得tab1的值

 function marquee(){

 if(tab2.offsetWidth-tab.scrollLeft<=0)//当tab的移动宽度大于等于demo1的时候,scrollLeft为0,也就是恢复到未移动前的情况,继续移动

 {tab.scrollLeft=0}

 else

 {tab.scrollLeft++;} //图片层不断的往left移动

 }

 var timer=setInterval(marquee,speed); //定时器

 tab.onmouseover=function(){clearInterval(timer)};//鼠标经过容器的时候清除定时器

 tab.onmouseout=function(){timer=setInterval(marquee,speed);}//鼠标移开容器的时候開始定时器

</script>

</body>

</html>

*******************2004-04-26,优化后,点击左右的图片就清除自己主动滚动的定时器,实现点击的时候能够滚动对应的像素************************

<!DOCTYPE html >

<html >

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>无标题文档</title>

<style>

.main{width:980px;height:190px;border:1px #999999 solid;margin:0 auto;}

h3{width:980px;height:30px;text-align:center;color:#3399FF;float:left;}

.tupian{width:980px;height:139px;float:left;position:relative;}

.indemo{width:800%;height:139px;}

.demo{width:948px;height:160px;float:left;overflow:hidden;}

.demo1{float:left;}

.demo2{float:left;}

.right{height:89px;width:16px;left:0;margin-top:40px;float:left;}

.left{height:89px;width:16px;margin-top:40px;float:left;}

</style>

</head>

<body>

<div id="main" class="main">

<h3>鸟巢展示图</h3>

<div id="tupian" class="tupian">

<div class="left"><img src="images/but_l2.jpg" class="lt" id="lt" /></div>

<div id="demo" class="demo">

<div id="indemo" class="indemo">

<div id="demo1" class="demo1">

<img src="images/niaochao1.jpg" />

<img src="images/niaochao2.jpg" />

<img src="images/niaochao3.jpg" />

<img src="images/niaochao4.jpg" />

<img src="images/niaochao5.jpg" />

<img src="images/niaochao6.jpg" />

<img src="images/niaochao7.jpg" />

<img src="images/niaochao8.jpg" />

<img src="images/niaochao9.jpg" />

</div>

<div id="demo2" class="demo2"></div>

</div>

</div>

<div class="right"><img src="images/but_r2.jpg" class="rt" id="rt" /></div>

</div>

</div>

<script type="text/javascript">

var speed=20;

var tab=document.getElementById("demo");

var tab1=document.getElementById("demo1");

var tab2=document.getElementById("demo2");

var lt=document.getElementById("lt");

var rt=document.getElementById("rt");

tab2.innerHTML=tab1.innerHTML;

function marquee(){

if(tab2.offsetWidth-tab.scrollLeft<=0)

{tab.scrollLeft=0}

else

{tab.scrollLeft++;}

}

var timer=setInterval(marquee,speed);

tab.onmouseover=function(){clearInterval(timer)};

tab.onmouseout=function(){timer=setInterval(marquee,speed)}

rt.onmouseout=function(){timer=setInterval(marquee,speed)};
//由于设置了点击图标的的时候清除定时器,所以这里必须在移开鼠标的时候開始定时器

lt.onmouseout=function(){timer=setInterval(marquee,speed)};

lt.onclick=function(){      //点击左图标时候执行

clearInterval(timer);   //清除定时器

if(tab.scrollLeft>=1440){tab.scrollLeft=0;}  //当层往左移动的像素大于1440的时候,scrillLeft返回0

else{tab.scrollLeft+=160} //不断的往左滚

}





rt.onclick=function(){ //点击右边鼠标的时候

clearInterval(timer);//清除定时器

if(tab.scrollLeft==0){tab.scrollLeft=1440;} //scroll为0的时候(这里必须注意,if里面是用“==”,是对照的意思,{}里面的“=”是赋值的意思,不能弄混),scrollLeft返回0

else if(tab.scrollLeft<=-1440){tab.scrollLeft=0;}//当scrollLeft少于1440的时候,scrollLeft返回0,同一时候)if(){}         else{}之间是不存在不论什么标记符号的,这是格式

else{tab.scrollLeft-=160;}

}

</script>

</body>

</html>

javascript实现图片无缝滚动(scrollLeft的使用方法介绍)的更多相关文章

  1. Javascript实现图片无缝滚动

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. JavaScript学习笔记5 之 计时器 & scroll、offset、client系列属性 & 图片无缝滚动

    一.计时器 setInterval ( 函数/名称 , 毫秒数 )表示每经过一定的毫秒后,执行一次相应的函数(重复) setTimeout ( 函数/名称 , 毫秒数 ) 表示经过一定的毫秒后,只执行 ...

  3. 应用JavaScript搭建一个简易页面图片无缝滚动效果

    页面图片无缝滚动JavaScript原理:移动的区块包含图片内容,区块相对父级元素进行定位脱离文档流.再令区块的left值每隔固定的时间进行等量减少(或增大)从而实现区块的匀速运动.由于每次间隔移动的 ...

  4. jQuery图片无缝滚动JS代码ul/li结构

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. jQuery图片无缝滚动

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. jquery图片无缝滚动代码左右 上下无缝滚动图片

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. CSS和jQuery分别实现图片无缝滚动效果

    一.效果图 二.使用CSS实现 <!DOCTYPE html> <html> <head> <meta charset="utf-8"&g ...

  8. 原生javascript效果:无缝滚动

    <style type="text/css"> #con {width:400px; padding:10px; margin:20px auto; text-alig ...

  9. Javascript获取图片原始宽度和高度的方法详解

    前言 网上关于利用Javascript获取图片原始宽度和高度的方法有很多,本文将再次给大家谈谈这个问题,或许会对一些人能有所帮助. 方法详解 页面中的img元素,想要获取它的原始尺寸,以宽度为例,可能 ...

随机推荐

  1. CentOS下Samba文件服务器的安装与配置

    CentOS下Samba文件服务器的安装与配置 http://blog.csdn.net/limingzhong198/article/details/22064801 一.安装配置 1. 安装sam ...

  2. 数据库基础学习3-T-SQL语句

    一.语句操作的基本方法 1.选中执行. 2.注释的方法‘--’. 二.数据类型 整数:int,bigint,smallint 小数:float,decimal(长度,精度) 字符:char(n),va ...

  3. 最新Cocos2d-x3.2开发环境搭建(windows环境下)

    原文地址:http://cache.baiducontent.com/c?m=9d78d513d9921cfe05ac837f7d16c067690297634d9dc7150ed58449e3735 ...

  4. java--方法和成员的继承,访问

    //在调用方法的时候,不是看句柄是哪一个类,而应该看对象是属于哪一个类的,属于哪一个类的,就调用哪一个类的成员和方法. //子类可以添加自己的新方法,但是子类对象的引用赋值给父类句柄之后,不能使用父类 ...

  5. servlet的filter的使用

    一.概述 过滤器是servlet的一个重要特性,它提供一种机制,允许在过滤器中,即可以修改浏览器的请求信息,也可以对服务器处理后的响应信息进行修改. 一个过滤器是一个实现了Filter接口的java类 ...

  6. MUI跳转页面传值

    1.打开新的页面.通过 mui.openWindow 打开页面extras参数传递参数 mui.openWindow({ id: "yingshou-" + newid, url: ...

  7. stack around the variable “ ” was corrupted

    用scanf格式控制不当经常发生此错误. 如 short int a=10;  scanf("%d",&a); 应该是%hd; 一般是越界引起的. 参看:http://bl ...

  8. Jump的计划

    欢迎訪问我的github:https://github.com/xdnm 1.熟悉cocos2dx2.2.3开发框架 a.熟悉cocos2d api                           ...

  9. [译]TCP和UDP的区别

    译者:华科小涛:http://www.cnblogs.com/hust-ghtao/ 最近开始学习计算机网络的知识,找了些英文的资料,翻译过来,一是为了深入学习网络,也是为了锻炼自己看英文文档的能力. ...

  10. PHP - 接口&抽象类

    什么时候使用抽象类什么时候使用接口? .如果要创建一个模型,这个模型将由一些紧密相关的对象采用,就可以使用抽象类.如果要创建将由一些不相关对象采用的功能,就使用接口. .如果必须从多个来源继承行为,就 ...