轮播图左右可以看见部分的

110 篇文章 0 订阅
42 篇文章 1 订阅



功能:左右箭头可以翻页上一页下一页。自己还会轮播。然后你点击半个的左右两边的图片,那个图片就变大位置跑到中间。并且鼠标滑过的时候,轮播停止。


.box{position:relative;width: 100%; height: 800px;}
.box .list{width:1000px;height:450px;overflow: hidden;position:absolute;left:50%;margin-left:-500px;}

.btn{position:absolute;top:50%;margin-top:-252px;font-size: 30px;width:60px;height:100px;line-height:100px;display:inline-block;background:#333;opacity:0.5;color:#fff;font-size: 30px;}
.prev{left:0}
.next{right:0}

.box .list .list-ul li{position:absolute;}
.box .list .list-ul li img{width:800px;height:450px;float:left;}
.p1,.p2,.p3{position:absolute;transition:all 0.3s ease-out;}  //重要这里点击的时候才有位置闪现的那种特效,否则就突兀的图片变了感觉不大位置变
.p1{  transform:translate3d(0px,0,0) scale(0.81);  transform-origin:0 50%;  opacity: 0.8;  z-index: 2;  -webkit-transform:translate3d(0px,0,0) scale(0.81);  -webkit-transform-origin:0 50%; }
.p2{  transform:translate3d(100px,0,0) scale(1);  z-index: 3;  opacity: 1; -webkit-transform:translate3d(100px,0,0) scale(1); }
.p3{  transform:translate3d(449px,0,0) scale(0.81);  transform-origin:100% 50%;  opacity: 0.8;  z-index: 2; -webkit-transform:translate3d(449px,0,0) scale(0.81); }



<div class="box">
        <div class="list">
            <ul class="list-ul">
                <li class="p1"><a href="#"><img src="images/C3.png" alt=""></a></li>
                <li class="p3"><a href="#"><img src="images/C1.png" alt=""></a></li>
                <li class="p2"><a href="#"><img src="images/C2.png" alt=""></a></li>
            </ul>
        </div>
        <a href="javascript:;" class="prev btn">&lt;</a>
        <a href="javascript:;" class="next btn">&gt;</a>
</div>
 


// 上一页
  $(".prev").click(function(){
    choose("prev");
  });
// 下一页
  $(".next").bind("click",function(){
  choose("next");
  });
 
 
 
  function choose(operate){


  $(".list li").each(function(i,e){
    var num= $(this).attr("class").split("")[1]; //取出图片的编号。左移的时候,所有编号都加一。
// console.log(num)
    if(operate=="prev"){
//    if(num==3){num=1;}
//    else num=~~num+1;
               num=num==3?1:~~num+1;
      }
     else if("next"){
//  if(num==1){num=3;}
//     else num=~~num-1;
               num=num==1?3:~~num-1;
     }
//              $(this).attr("class","p"+num);
                $(this).removeClass().addClass("p"+num);
              console.log( $(this).attr("class"));
           })
  }
  //轮播
// var index=1;
       timer=setInterval(function(){  
             choose("next");
        },4000)
// 鼠标移上去清除轮播,离开时就轮播
$(".box").mouseover(function(){
            clearInterval(timer);
        })


        $(".box").mouseleave(function(){
            timer=setInterval(choose("next"),4000);
        })


// 点击左右两边的图片时/点击的图片变大 位置放在中间
       $(document).on("click",".p1",function(e){
             choose("prev");
            return false;//返回一个false值,让a标签不跳转
        });


        $(document).on("click",".p3",function(){
            choose("next");
            return false;
        });



你可以在我的资源里面下载源文件:点击打开链接


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用HTML5和CSS3实现一个基本的轮播图。 HTML结构: ```html <div class="carousel"> <div class="carousel-images"> <img src="image1.jpg"> <img src="image2.jpg"> <img src="image3.jpg"> </div> </div> ``` CSS样式: ```css .carousel { width: 100%; overflow: hidden; } .carousel-images { display: flex; width: 300%; transition: transform 0.3s; } .carousel-images img { width: 33.33%; } ``` JS交互: ```js var carouselImages = document.querySelector('.carousel-images'); var imageWidth = document.querySelector('.carousel-images img').clientWidth; var currentImageIndex = 0; function showNextImage() { if (currentImageIndex < 2) { currentImageIndex++; carouselImages.style.transform = 'translateX(-' + (currentImageIndex * imageWidth) + 'px)'; } } function showPreviousImage() { if (currentImageIndex > 0) { currentImageIndex--; carouselImages.style.transform = 'translateX(-' + (currentImageIndex * imageWidth) + 'px)'; } } setInterval(showNextImage, 3000); ``` 解释: 1. `overflow: hidden`属性可以隐藏超出轮播图容器的图片部分。 2. `display: flex`和`width: 300%`属性可以将图片横向排列。 3. `transition: transform 0.3s`属性可以使图片左右滑动时带有过渡效果。 4. `translateX(-' + (currentImageIndex * imageWidth) + 'px)'`属性可以实现图片左右滑动,`currentImageIndex`表示当前显示图片索引,`imageWidth`表示每张图片的宽度。 5. `setInterval`函数可以定时调用`showNextImage`函数,实现自动轮播。 完整代码如下: ```html <!DOCTYPE html> <html> <head> <title>轮播图</title> <style> .carousel { width: 100%; overflow: hidden; } .carousel-images { display: flex; width: 300%; transition: transform 0.3s; } .carousel-images img { width: 33.33%; } </style> </head> <body> <div class="carousel"> <div class="carousel-images"> <img src="image1.jpg"> <img src="image2.jpg"> <img src="image3.jpg"> </div> </div> <script> var carouselImages = document.querySelector('.carousel-images'); var imageWidth = document.querySelector('.carousel-images img').clientWidth; var currentImageIndex = 0; function showNextImage() { if (currentImageIndex < 2) { currentImageIndex++; carouselImages.style.transform = 'translateX(-' + (currentImageIndex * imageWidth) + 'px)'; } } function showPreviousImage() { if (currentImageIndex > 0) { currentImageIndex--; carouselImages.style.transform = 'translateX(-' + (currentImageIndex * imageWidth) + 'px)'; } } setInterval(showNextImage, 3000); </script> </body> </html> ``` 这样,就可以实现一个简单的左右滑动的轮播图了。如果需要添加小圆点和左右键功能,可以在HTML和JS中添加相关代码来实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值