图片滑动代码

本文介绍了一种使用HTML和CSS实现图片轮播图的方法。通过设置特定样式和JavaScript交互,可以创建平滑过渡的轮播效果。代码示例中包含了滑动动画、自动播放和鼠标悬停停止等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

<!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=gb2312" />
<title>无标题文档</title>
</head>

<body>

<style type="text/css">
#picBox_top{width:950px; height:90px; margin:0px auto; position:relative; overflow:hidden;}
#picBox_top ul#show_pic_top{ margin:0; padding:0; list-style:none; height:90px; width:950px; position:absolute; top:0; left:0;}
#picBox_top ul#show_pic_top li{ float:left; margin:0; padding:0; height:90px;}
#picBox_top ul#show_pic_top li img{ display:block;}
#icon_num_top{ position:absolute; bottom:4px; right:10px;}
#icon_num_top li{ float:left; /*background:url(images/flashbutton.gif) no-repeat -15px 0;*/filter:alpha(opacity=80); background-color:#ffffff; width:18px; height:17px; line-height:17px; font-size:12px; list-style:none; color:#E39F78; text-align:center;  cursor:pointer; padding:0; margin:0;margin-right:5px;}
#icon_num_top li:hover,#icon_num_top li.active{ /*background:url(images/flashbutton.gif) no-repeat 0 0;*/ filter:alpha(opacity=100);background-color:#FE6700; color:#fff; font-weight:bold;}
</style>

<div id="picBox_top">
 <ul id="show_pic_top" style="top:0">
     <li><img src="http://imgcache.qq.com/tuangou/img/ggtp/20110728/1311822227.jpg" width="950" height="90" alt="" title="" /></li>
        <li><img src="http://imgcache.qq.com/tuangou/img/ggtp/20110801/1312180799.jpg" width="950" height="90" alt="" title="" /></li>
        <li><img src="http://imgcache.qq.com/tuangou/img/ggtp/20110802/1312250121.jpg" width="950" height="90" alt="" title="" /></li>
    </ul>
    <ul id="icon_num_top">
     <li class="active">1</li>
        <li>2</li>
        <li>3</li>
    </ul>
</div>
<script type="text/javascript">
/**
 *glide.layerGlide((oEventCont,oSlider,sSingleSize,sec,fSpeed,point);
 *@param auto type:bolean 是否自动滑动 当值是true的时候 为自动滑动
 *@param oEventCont type:object 包含事件点击对象的容器
 *@param oSlider type:object 滑动对象
 *@param sSingleSize type:number 滑动对象里单个元素的尺寸(width或者height)  尺寸是有point 决定
 *@param second type:number 自动滑动的延迟时间  单位/秒
 *@param fSpeed type:float   速率 取值在0.05--1之间 当取值是1时  没有滑动效果
 *@param point type:string   left or top
 */
var glide =new function(){
 function $id(id){return document.getElementById(id);};
 this.layerGlide=function(auto,oEventCont,oSlider,sSingleSize,second,fSpeed,point){
  var oSubLi = $id(oEventCont).getElementsByTagName('li');
  var interval,timeout,oslideRange;
  var time=1;
  var speed = fSpeed
  var sum = oSubLi.length;
  var a=0;
  var delay=second * 2000;
  var setValLeft=function(s){
   return function(){
    oslideRange = Math.abs(parseInt($id(oSlider).style[point]));
    $id(oSlider).style[point] =-Math.floor(oslideRange+(parseInt(s*sSingleSize) - oslideRange)*speed) +'px'; 
    if(oslideRange==[(sSingleSize * s)]){
     clearInterval(interval);
     a=s;
    }
   }
  };
  var setValRight=function(s){
   return function(){  
    oslideRange = Math.abs(parseInt($id(oSlider).style[point]));      
    $id(oSlider).style[point] =-Math.ceil(oslideRange+(parseInt(s*sSingleSize) - oslideRange)*speed) +'px';
    if(oslideRange==[(sSingleSize * s)]){
     clearInterval(interval);
     a=s;
    }
   }
  }
 
  function autoGlide(){
   for(var c=0;c<sum;c++){oSubLi[c].className='';};
   clearTimeout(interval);
   if(a==(parseInt(sum)-1)){
    for(var c=0;c<sum;c++){oSubLi[c].className='';};
    a=0;
    oSubLi[a].className="active";
    interval = setInterval(setValLeft(a),time);
    timeout = setTimeout(autoGlide,delay);
   }else{
    a++;
    oSubLi[a].className="active";
    interval = setInterval(setValRight(a),time);
    timeout = setTimeout(autoGlide,delay);
   }
  }
 
  if(auto){timeout = setTimeout(autoGlide,delay);};
  for(var i=0;i<sum;i++){
   oSubLi[i].onmouseover = (function(i){
    return function(){
     for(var c=0;c<sum;c++){oSubLi[c].className='';};
     clearTimeout(timeout);
     clearInterval(interval);
     oSubLi[i].className="active";
     if(Math.abs(parseInt($id(oSlider).style[point]))>[(sSingleSize * i)]){
      interval = setInterval(setValLeft(i),time);
      this.onmouseout=function(){if(auto){timeout = setTimeout(autoGlide,delay);};};
     }else if(Math.abs(parseInt($id(oSlider).style[point]))<[(sSingleSize * i)]){
       interval = setInterval(setValRight(i),time);
      this.onmouseout=function(){if(auto){timeout = setTimeout(autoGlide,delay);};};
     }
    }
   })(i)  
  }
 }
}
glide.layerGlide(true,'icon_num_top','show_pic_top',90,2,0.1,'top');
</script>

 


</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值