无缝滚动图片——源码

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

图片已上传,请到我的资源部去下载,不用积分,——无缝滚动图片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';
}


相关文章
|
8月前
|
前端开发
如何用css显示一个图片中多个小图标
如何用css显示一个图片中多个小图标
|
2月前
好看的网站自适应图片文字广告位代码
上边是图片广告位,下边是文字广告位,都是自适应的。 图片觉得不直观的可以去网站看看 代码从网上扒的,自己也修改了一下,更美观、也更适应网站。 一个好的广告位不仅不会拉低网站的颜值,还会增加广告主选择你的机会
46 2
好看的网站自适应图片文字广告位代码
|
前端开发 JavaScript
无缝滚动图片——源码
无缝滚动图片——源码
|
算法 计算机视觉
图片的美白与美化
图片的美白与美化
95 0
|
前端开发 JavaScript
一颗红心,三手准备,分别基于图片(img)/SCSS(样式)/SVG动画实现动态拉轰的点赞按钮特效
华丽炫酷的动画特效总能够让人心旷神怡,不能自已。艳羡之余,如果还能够探究其华丽外表下的实现逻辑,那就是百尺竿头,更上一步了。本次我们使用图片、SCSS样式以及SVG图片动画来实现“点赞”按钮的动画特效,并比较不同之处。
一颗红心,三手准备,分别基于图片(img)/SCSS(样式)/SVG动画实现动态拉轰的点赞按钮特效
|
移动开发
【笔记】一行代码完成——h5页面上滑图片渐隐
一行代码完成——h5页面上滑图片渐隐
137 0
|
JavaScript
jQuery插件实现图片墙小案例
jQuery插件实现图片墙小案例
125 0
|
Java API Maven
一行代码搞定图片缩略图处理
不知道大家现在工作中还有没有使用过Java处理图片的。强哥在大学毕业后,从事服务端WEB开发,就很少接触图片处理。有接触图片的,大多也就是图片的上传下载。所以,对Java处理图片相关的技术也都没怎么接触。
一行代码搞定图片缩略图处理
|
Web App开发 测试技术
巧用CSS3滤镜实现图片不同渲染效果
本站在首页文章封面图从无色转变为有色,以及页面切换、发布留言等信息提示的背景模糊都利用到了css3的filter滤镜。 CSS3 Filter是W3C CSS filter Effect 1.0中定义的滤镜,一个使用CSS来改变图片和HTML的模糊度、亮度、对比度、饱和度等等效果的过滤器。
1317 0