轮播图

4 篇文章 0 订阅

//css

/* 焦点图下的专题图片 */
.rotation{    overflow: hidden;}
.picbox{ width:100%; height:260px; overflow:hidden; position:relative;padding:0;}
.picbox li{ background:#eee; margin-right:10px; padding:5px; float:left;}


.piclist{ height:auto;position:absolute; left:0px; top:0px;}
.swaplist{ position:absolute; left:-3000px; top:0px;}
.og_prev,.og_next{ width:30px; height:50px; background:url(indeximg/images/icon.png) no-repeat; background:url(indeximg/images/icon_ie6.png) no-repeat\9; position:absolute; top:45%; z-index:99; cursor:pointer;filter:alpha(opacity=70); opacity:0.7;}
.og_prev{ background-position:0 -60px; left:4px;}
.og_next{ background-position:0 0; right:4px;}


//jsp

<!-- 基地图片 -->
<div style="border:1px solid #ccc;margin:20px 30px;width:90%;">
<div class="rotation" style="position:relative;width:240px;height:auto;margin:10px 20px;" >
<div class="picbox">
<ul class="piclist mainlist J_traceBaseInfoImg">
</ul>
<ul class="piclist swaplist"></ul>
</div>
<div class="og_prev"></div>
<div class="og_next"></div>
</div>
   </div><br/>
<!-- 基地图片结束 -->



//js



/**
 * obj 本处:".rotation"
 * 左右均可无限循环
 * 缺陷:num只能为1 否则后退有问题 
 * @param obj
 */
function lunbo(obj){
var img_le;//单个图片宽度
var screen_num=4;//图片显示区域数量
var num=1;//每次移动图片个数 可设置
var max_num=5;//当图片少于多少时 隐藏点击按钮
var stage=1;//状态1:最后或最前一张图片后 只能反向移动 ;状态2:
 

linum = $(obj).find('.mainlist li').length;//图片数量
img_le = parseInt($(obj).find('.mainlist li:eq(0)').outerWidth(true));//单个图片宽度
screen_L=img_le*screen_num;//图片显示区域宽度
w = linum * img_le;//ul宽度
 console.log("li宽:"+img_le+"/总宽:"+w);
 
  $(obj).css('width', screen_L + 'px');//屏框宽
  $(obj).find('.picbox').css('width', w * 3 + 'px');//容器宽度
  $(obj).find('.picbox').css({left: -1 *w +"px"});//位置
 
$(obj).find('.mainlist').css('width', w * 3 + 'px');//

  var imgList=$(obj).find('.mainlist').html();//li图片对象
   
  $(obj).find('.mainlist').append(imgList +imgList);//复制内容
 
  var lunbo_box=$(obj).find('.picbox').html();
   
  if(linum<max_num){
  $(obj).find('.og_prev,.og_next').remove(); //图片太少 删除点击按钮
  }

 $(obj).find(".og_next").bind("click",function(){
 
 if($(obj).find('.swaplist,.mainlist').is(':animated')){
 $(obj).find('.swaplist,.mainlist').stop(true,true);
  }
 
 if(linum>=max_num){//多于?张图片

 var ml = parseInt($(obj).find('.mainlist').css('left'));//默认图片ul位置
  console.log("初始状态"+ml);
 
   if(stage==1){
 if(screen_L-w>=ml){
 console.log("隐藏");
 $(obj).find('.og_next').hide();
 
 $(obj).find('.og_prev').show();  
 return false;
 }else{
 console.log("移动");
 $(obj).find('.mainlist').animate({left: "-="+img_le*num+"px",width:"+="+img_le*num+"px"},'slow',function(){});//默认图片滚动
// return false;
 }
 
 }else{
 if(ml % w ==0){//整数倍
 $(obj).find('.picbox').html(lunbo_box);
 console.log("当前位置:"+ml);
 }
 var li_move=$(obj).find('.mainlist li:lt('+num+')');
 $(obj).find('.mainlist').animate({left: "-="+img_le*num+"px",width:"+="+img_le*num+"px"},'slow',function(){
 
 });//默认图片滚动
 //$(obj).find('.mainlist').append(li_move.clone());//复制内容
 $(obj).find('.mainlist').append(imgList);//复制内容  消耗资源
 }
 
 }
 });
   
$(obj).find(".og_prev").bind("click",function(){
  if($(obj).find('.swaplist,.mainlist').is(':animated')){
  $(obj).find('.swaplist,.mainlist').stop(true,true);
  }
 
  if($(obj).find('.mainlist li').length>=max_num){//多于1张图片
 
  var ml = parseInt($(obj).find('.mainlist').css('left'));//默认图片ul位置
  console.log("初始状态"+ml);
  if(stage==1){
 if(ml>=0){
 $(obj).find('.og_prev').hide();  
 $(obj).find('.og_next').show(); 
 return false;
 }else{
 $(obj).find('.mainlist').animate({left: "+="+img_le*num+"px"},'slow',function(){});//默认图片滚动
 return false;
 }
 
 }else{
  $(obj).find('.mainlist').animate({left:"+="+img_le*num+"px"},'slow',function(){
  if(ml>=screen_L ){
  $(obj).find('.picbox').html(lunbo_box);
  console.log("当前位置:"+ml);
  }
  });//默认图片滚动
 }
  }
  });  
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值