无缝滚动图片——源码

简介: 无缝滚动图片——源码

图片已上传,请到我的资源部去下载,不用积分,——无缝滚动图片http://download.csdn.net/detail/qq_34137397/9665933

</head>
<body>
<div class="control">
  <label id="chk_pause"><input type="checkbox" checked="checked">间隔停顿</label>
  <select id="pause_time">
    <option value="100">短</option>
    <option value="1000" selected="selected">中</option>
    <option value="3000">长</option>
  </select>
  滚动速度:
  <select id="sel_speed">
    <option value="2">慢</option>
    <option value="5">中</option>
    <option value="10">快</option>
  </select>
</div>
<div class="roll" id="roll">
    <a href="javascript:void(0);" class="btn_left"></a>
    <a href="javascript:void(0);" class="btn_right"></a>
    <div class="wrap">
        <ul>
            <li><a href="http://www.zhinengshe.com/"><img src="images/1.jpg" /></a></li>
            <li><a href="http://www.zhinengshe.com/"><img src="images/2.jpg" /></a></li>
            <li><a href="http://www.zhinengshe.com/"><img src="images/3.jpg" /></a></li>
            <li><a href="http://www.zhinengshe.com/"><img src="images/4.jpg" /></a></li>
        </ul>
    </div>
</div>
</body>
</html>


CSS代码

* { padding: 0; margin: 0;
li { list-style: none; }
img { border: 0; }
.roll { width: 880px; height: 108px; margin: 50px auto 0; position: relative; }
.btn_left { display: block; width: 68px; height: 68px; background: url(images/btn.jpg) no-repeat -70px -69px; position: absolute; top: 20px; left: 1px; z-index: 1; }
.btn_left:hover { background: url(images/btn.jpg) no-repeat -70px 0; }
.btn_right { display: block; width: 68px; height: 68px; background: url(images/btn.jpg) no-repeat 1px -69px; position: absolute; top: 20px; right: 0; z-index: 1; }
.btn_right:hover { background: url(images/btn.jpg) no-repeat 1px 0; }
.roll .wrap { width: 728px; height: 108px; margin: 0 auto; position: relative; overflow: hidden; }
.roll ul { position: absolute; top: 0; left: 0; }
.roll li { float: left; width: 182px; height: 108px; text-align: center; }
.roll li a:hover { position: relative; top: 2px; }
.control { border-bottom: 1px solid #ccc; background: #eee; text-align: center; padding: 20px 0; }


js代码

var g_bMoveLeft=true;
var g_oTimer=null;
var g_oTimerOut=null;
var g_bPause=true;
var g_iPauseTime=1000;
var g_iSpeed=2;
window.οnlοad=function ()
{
  var oDiv=document.getElementById('roll');
  var oUl=oDiv.getElementsByTagName('ul')[0];
  var aLi=oUl.getElementsByTagName('li');
  var aA=oDiv.getElementsByTagName('a');
  var oChk=document.getElementById('chk_pause');
  var oPauseTime=document.getElementById('pause_time');
  var oSpeed=document.getElementById('sel_speed');
  var i=0;
  var str=oUl.innerHTML+oUl.innerHTML;
  oUl.innerHTML=str;
  oUl.style.width=aLi[0].offsetWidth*aLi.length+'px';
  for(i=0;i<aLi.length;i++)
  {
    aLi[i].οnmοuseοver=function ()
    {
      stopMove();
    };
    aLi[i].οnmοuseοut=function ()
    {
      startMove(g_bMoveLeft);
    };
  }
  aA[0].οnmοuseοver=function ()
  {
    startMove(true);
  };
  aA[1].οnmοuseοver=function ()
  {
    startMove(false);
  };
  startMove(true);
  oChk.οnclick=function ()
  {
    g_bPause=oChk.getElementsByTagName('input')[0].checked;
  };
  oSpeed.οnchange=function ()
  {
    g_iSpeed=parseInt(this.value);
  };
  oPauseTime.οnchange=function ()
  {
    g_iPauseTime=parseInt(this.value);
  };
};
function startMove(bLeft)
{
  g_bMoveLeft=bLeft;
  if(g_oTimer)
  {
    clearInterval(g_oTimer);
  }
  g_oTimer=setInterval(doMove, 30);
}
function stopMove()
{
  clearInterval(g_oTimer);
  g_oTimer=null;
}
function doMove()
{
  var oDiv=document.getElementById('roll');
  var oUl=oDiv.getElementsByTagName('ul')[0];
  var aLi=oUl.getElementsByTagName('li');
  var l=oUl.offsetLeft;
  if(g_bMoveLeft)
  {
    l-=g_iSpeed;
    if(l<=-oUl.offsetWidth/2)
    {
      l+=oUl.offsetWidth/2;
    }
  }
  else
  {
    l+=g_iSpeed;
    if(l>=0)
    {
      l-=oUl.offsetWidth/2;
    }
  }
  if(g_bPause)
  {
    if(Math.abs(l-Math.round(l/aLi[0].offsetWidth)*aLi[0].offsetWidth)<Math.ceil(g_iSpeed/2))
    {
      stopMove();
      g_oTimerOut=setTimeout
      (
        function ()
        {
          startMove(g_bMoveLeft);
        }, g_iPauseTime
      );
      l=Math.round(l/aLi[0].offsetWidth)*aLi[0].offsetWidth;
    }
  }
  oUl.style.left=l+'px';
}



相关文章
|
5月前
|
前端开发 JavaScript
无缝滚动图片——源码
无缝滚动图片——源码
|
11月前
|
前端开发
如何用css显示一个图片中多个小图标
如何用css显示一个图片中多个小图标
|
前端开发
css鼠标放上图片变大
css鼠标放上图片变大
css鼠标放上图片变大
|
3月前
|
前端开发
css实用技巧——异步加载图片时,在图片完成加载前,鼠标悬浮到占位图片上时显示图片的alt信息
css实用技巧——异步加载图片时,在图片完成加载前,鼠标悬浮到占位图片上时显示图片的alt信息
21 0
|
算法 计算机视觉
图片的美白与美化
图片的美白与美化
116 0
|
前端开发 JavaScript
一颗红心,三手准备,分别基于图片(img)/SCSS(样式)/SVG动画实现动态拉轰的点赞按钮特效
华丽炫酷的动画特效总能够让人心旷神怡,不能自已。艳羡之余,如果还能够探究其华丽外表下的实现逻辑,那就是百尺竿头,更上一步了。本次我们使用图片、SCSS样式以及SVG图片动画来实现“点赞”按钮的动画特效,并比较不同之处。
一颗红心,三手准备,分别基于图片(img)/SCSS(样式)/SVG动画实现动态拉轰的点赞按钮特效
|
移动开发
【笔记】一行代码完成——h5页面上滑图片渐隐
一行代码完成——h5页面上滑图片渐隐
154 0
|
前端开发
css sprite雪碧图制作,使用以及相关,图文gif。
在网页制作中,雪碧图也是前端攻城狮必须掌握的一项小技能。百度词条对雪碧图的解释是:CSS雪碧 即CSS Sprite,也有人叫它CSS精灵,是一种CSS图像合并技术,该方法是将小图标和背景图像合并到一张图片上,然后利用css的背景定位来显示需要显示的图片部分。本文主要内容包括雪碧图如何制作,雪碧图优缺点,哪些场景需要使用雪碧图。 实现原理: CSS雪碧的基本原理是把你的网站上用到的一些图片整合到一张单独的图片中,从而减少你的网站的HTTP请求数量。该图片使用CSS background和background-position属性渲染,这也就意味着你的标签变得更加复杂了,图片是在CSS中定义.
321 0
css sprite雪碧图制作,使用以及相关,图文gif。
|
Java API Maven
一行代码搞定图片缩略图处理
不知道大家现在工作中还有没有使用过Java处理图片的。强哥在大学毕业后,从事服务端WEB开发,就很少接触图片处理。有接触图片的,大多也就是图片的上传下载。所以,对Java处理图片相关的技术也都没怎么接触。
一行代码搞定图片缩略图处理