图片滚动(待美化)

1:原有图片4张,无论向左或者向右滚动,都会出现空白,所以需要在原有4张图片的基础下自加得到8张图片,

2:向左滚动:当图片滚到到整个ul宽度的一半时(aDiv.offsetLeft<-aDiv.offsetWidth/2)

将整个ul的左边距置0(aDiv.style.left=‘0px‘;),通俗说即将整个图片从左往右第一张图片拉倒最开始的位置。

3:向右滚动:当图片滚动到ul的左边距大于0时(aDiv.offsetLeft>0)

将整个ul的左边距设为整个ul宽度的一半(aDiv.style.left=-aDiv.offsetWidth/2+‘px‘)

  1 <!DOCTYPE html>
  2 <html>
  3 <head>
  4 <meta charset="utf-8">
  5 <script type="text/javascript">
  6  var timer=null;
  7  var speed=5;
  8  var i=0;
  9  //获取ID,标签名
 10  function getSomething(){
 11      var aBtn1=document.getElementById("btn1");
 12      var aBtn2=document.getElementById("btn2");
 13      var aDiv1=document.getElementById("tu");
 14      var aDiv=aDiv1.getElementsByTagName("ul")[0];
 15      var aLi=document.getElementsByTagName("li");
 16
 17      //在原有4张图片的基础上自加得到8张图片
 18      aDiv.innerHTML+=aDiv.innerHTML;
 19      //ul的宽度为4张图片宽度
 20      aDiv.style.width=aLi[0].offsetWidth*aLi.length+‘px‘;
 21      //调用图片滚动函数,默认向左滚动
 22      domove();
 23
 24      function domove(){
 25      timer=setInterval(function(){
 26              aDiv.style.left=aDiv.offsetLeft-speed+"px";
 27              // 向左滚动时,当图片滚动到ul宽度的一半时往回拉
 28              if(aDiv.offsetLeft<-aDiv.offsetWidth/2)
 29                  aDiv.style.left=‘0px‘;
 30              //向右滚动时,当左边距大于0时,将整个图片往左拉一半距离。使得左边不会出现空白
 31              else if(aDiv.offsetLeft>0)
 32              aDiv.style.left=-aDiv.offsetWidth/2+‘px‘;//x需加上‘px’,否则有错
 33      },30);
 34  }
 35     //向右滚动
 36      aBtn1.onmouseover=function(){
 37          speed=-5;
 38          stopMove();
 39      };
 40      //向左滚动
 41      aBtn2.onmouseover=function(){
 42          speed=5;
 43          stopMove();
 44      };
 45      function stopMove(){
 46          clearInterval(timer);
 47          domove();
 48      }
 49
 50       for(i=0;i<aLi.length;i++)
 51     {
 52         //当鼠标移动到图片上时,停止滚动
 53         aLi[i].onmouseover=function ()
 54         {
 55             clearInterval(timer);
 56         };
 57         //当鼠标移出到图片时,继续滚动
 58         aLi[i].onmouseout=function ()
 59         {
 60             domove();
 61         };
 62     }
 63
 64  }
 65 </script>
 66 <style>
 67 *{
 68     padding:0;
 69     margin:0;
 70 }
 71 li{
 72     list-style: none;
 73 }
 74 img{
 75     border:0;
 76 }
 77
 78 #tu{
 79     width:550px;
 80     height:108px;
 81     /*!!!*/
 82     overflow: hidden;
 83     margin:0 auto;
 84     position: relative;
 85     left:0;
 86 }
 87 #tu ul{
 88     position: absolute;
 89     top:0;
 90     /*滚动的原理即改变ul的左边距*/
 91     left: 0px;
 92 }
 93 #tu li{
 94     width:183px;
 95     height:108px;
 96     float:left;
 97 }
 98 </style>
 99 </head>
100 <body onload="getSomething();">
101     <input id="btn1" type="button" value="向右滚动">
102     <input id="btn2" type="button" value="向左滚动">
103 <div id="tu">
104     <ul>
105     <li><img src="images/1.jpg"></li>
106     <li><img src="images/2.jpg"></li>
107     <li><img src="images/3.jpg"></li>
108     <li><img src="images/4.jpg"></li>
109 </ul>
110 </div>
111 </body>
112 </html>

aDiv.style.left=‘0px‘;

时间: 2024-10-22 12:25:15

图片滚动(待美化)的相关文章

随机图片滚动(随机数+变化函数),可运行

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>随机图片滚动</title> <!--可成功执行,布局有点混乱...懒得改了.需要一个js文件,在上一文章中有--> <style type="text/css"> *{ padding:0; margin: 0;

原生js实现tab选项卡里内嵌图片滚动特效代码

<!DOCTYPE HTML><html lang="en-US"><head><meta charset="UTF-8"><title>原生js实现tab选项卡里内嵌图片滚动特效代码</title><meta name="keywords" content="原生js实现tab选项卡里内嵌图片滚动特效代码" /><meta name=&

jquery mobile的一些插件(图片滚动)

jquery mobile的一些插件(图片滚动) 1,photoswipe 网址:http://www.photoswipe.com/demo: http://www.photoswipe.com/latest/examples/04-jquery-mobile.html个人描述:在手机上操作很流畅,能自使用屏幕尺寸,竖屏显示效果很好,横屏图片太大了,也就是列数固定的原因. 2,Touch-Gallery 网址:http://neteye.github.com/touch-gallery.htm

Android高级图片滚动控件,编写3D版的图片轮播器

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17482089 大家好,好久不见了,最近由于工作特别繁忙,已经有一个多月的时间没写博客了,我也是深感惭愧.那么今天的这篇既然是阔别了一个多月的文章,当然要带来更加给力点的内容了,那么话不多说,赶快进入到今天的正题吧. 说 到图片轮播器,很多的Android应用中都会带有这个功能,比如说网易新闻.淘宝等.最新我们公司的一款应用也加入了这个功能,并且在图片轮播的基础上 还增加了三维立体

12-25 学习图片滚动器

// //  ViewController.m //  图片滚动器 // //  Created by Mac on 15/12/25. //  Copyright © 2015年 Mac. All rights reserved. // #import "ViewController.h" @interface ViewController () <UIScrollViewDelegate> //从stroyboad中拖来的控件 @property (weak, nona

android 背景图片滚动

昨天在给客户端做天气展示页面的时候,发现很多app的天气页面背景图片都会缓慢移动,形成了一种3d的感觉.例如下雨,静态图片缓慢移动,雨滴位置变换感觉就真的在下雨.云朵的移动也很酷.于是研究了一下午.写了一个自定义view控件. 我的自定义控件继承了view,重写ondraw方法.本人C#转android才3个月,以下代码如有错或者有可以改进的地方,请各位在评论中指出.望不吝赐教! ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

JS 图片滚动懒加载

基本原理 图片滚动懒加载的原理非常简单:基于<img>标签,在初次加载时,不把图片url放在src属性中,而是自定义一个属性,例如data-src.然后检测"scroll","resize"等窗体事件,判断图片是否进入了可视范围.如果进入,则将data-src的字段替换到src,此时浏览器会自动去加载对应图片资源. 首先是不添加src的img标签,新增data-src用于放置图片url: <img class="lazyImg"

常用JS图片滚动(无缝、平滑、上下左右滚动)代码大全

常用JS图片滚动(无缝.平滑.上下左右滚动)代码大全 今天刚网上看的 不多说直接帖代码---- <head><-----></head><body> <!--向下滚动代码开始--><div id="colee" style="overflow:hidden;height:253px;width:410px;"><div id="colee1"><p>&

wap图片滚动特效_无css3 元素js脚本编写

手机图片滑动切换,网上有很多这样的例子,但都借助于其他组件,让代码混乱的不行:还有就是用到css3里的 transform:translate(x,y);移动元素,不过发现在不支持css3的设备上马上完蛋了,所 有下定决心自己做一个,谁知出现了很多的问题,其中最重要的是给图片加链接,网页中的上下滚动条不能在拖动图片的时候滚动,并且不能兼容pc机器上的拖动:在这里就简单介绍一下遇到的问题和解决的方法: 问题一:给图片加上链接后,在拖动的时候总是跳到其他页面: 问题根源主要是不能判断是点击还是拖动,