JQuery实现轮播图源码

设计:

根据上图可以看出,轮播图需要以下元素:外面的盒子div、放置图片集合的盒子ul、放置两侧按钮的盒子div、下侧顺序按钮div

源代码如下:

一、html源码如下:

<div class="outer">

    <ul class="img">
        <li><a><img src="../static/img/1.jpg"></a></li>
        <li><a><img src="../static/img/2.jpg"></a></li>
        <li><a><img src="../static/img/3.jpg"></a></li>
        <li><a><img src="../static/img/4.jpg"></a></li>
    </ul>


    <ul class="num">
        <li class="current">1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
    </ul>

    <div class="left_btn btn"><</div>
    <div class="right_btn btn">></div>
</div>

二、css样式实现:

<style>
    /*去掉默认浏览器样式*/
    *{
        margin: 0;
        padding: 0;
    }
      /*去掉li标签默认样式*/
   li{
       list-style: none;
   }
     /*最外层盒子样式处理:
     1.设置与轮播图高宽一致
     2.设置纵向距顶部50px,水平居中
     3.设置自己为固定位置
     */
    .outer{
        height: 470px;
        width: 590px;
        margin: 50px auto;
        position:relative;
    }
      /*轮播图片集合处理:
      1.将其设置为脱离文档流
      2.设置距顶部和左侧都为0
      */
    .img li{
        position: absolute;
        top: 0;
        left: 0;
    }
      /*顺序按钮区域处理:
      1.设置脱离文档流
      2.通过设置text-align、width使其整体水平居中
      3.设置距离底部20px
      */
    .num{
        position: absolute;
        text-align: center;
        width: 100%;
        bottom: 20px;
    }
   /*顺序按钮处理:
      1.将其设置为行级及块级兼容显示
      2.设置其宽高
      3.设置背景色及字体颜色
      4.设置字体水平居中
      5.通过设置line-height与height一致,使其字体纵向居中
      6.设置其样式为圆形
      7.增加按钮左右间距
      */
    .num li{
        display: inline-block;
        width: 20px;
        height: 20px;
        background-color: darkgray;
        color: white;
        text-align: center;
        line-height: 20px;
        border-radius: 50%;
        margin: 0 20px;
    }
     /*左、右按钮相同部分处理:
      1.设置其脱离文档流
      2.设置其宽高
      3.设置背景色及字体颜色
      4.设置字体水平居中
      5.通过设置line-height与height一致,使其字体纵向居中
      6.通过设置top、margin-top使其整体纵向居中
      7.默认不显示
      */
    .btn{
        position: absolute;
        width: 20px;
        height: 50px;
        background-color: darkgray;
        color: white;
        text-align: center;
        line-height: 50px;
        top: 50%;
        margin-top: -25px;
        display: none;
    }
      /*左侧按钮处理:
      设置左侧为0
      */
    .left_btn{
        left: 0;
    }
     /*右侧按钮处理:
      设置右侧为0
      */
    .right_btn{
        right: 0;
    }
     /*鼠标悬浮至轮播图区域时左、右按钮处理:
      1.设置左右按钮显示样式为行级块级兼容
      2.设置鼠标放置在左右按钮时样式为小手
      */
    .outer:hover .btn{
        display: inline-block;
        cursor: pointer;
    }
     /*设置顺序按钮初始按钮样式:
      设置为红色(由于样式级别问题会导致设置无效,可通过两种方式解决:
      1.后面加上!important
      2.将css定位写详细,比如:.outer .num .current{……
      )
      */
    .current{
        background-color: red!important;
    }

</style>

三、JQuery实现:

<script src="../static/jquery-3.3.1.min.js"></script>
<script>
     /*定义位置:由于图片个数与下侧顺序按钮数量一致,可通过位置进行关联*/
    var index=0;
     /*当鼠标放到顺序按钮上时:
     1.将当前这个顺序按钮增加样式为红色背景
     2.移除周围其他同级元素红色背景样式
     3.获取当前顺序按钮的index
     4.通过index获取该位置图片
     5.一秒钟渐入该图片
     6.一秒钟渐出其他相邻图片
     7.防止移动过快导致的效果闪现,使用stop方法
     */
    $(".num li").mousemove(function () {
            $(this).addClass("current").siblings().removeClass("current");
            index=$(this).index();
            $(".img li").eq(index).stop().fadeIn(1000).siblings().stop().fadeOut(1000);
    });
     /*设置每一秒钟自动轮播:
     1.获取当前位置序号:自加操作;当超过图片最大序号时序号设置为0
     2.设置下侧顺序按钮及轮播图显示
     */
    var time=setInterval(move,1000);
    function move() {
        index++;
        if (index==4){
            index=0
        }
        $(".num li").eq(index).addClass("current").siblings().removeClass("current");
        $(".img li").eq(index).stop().fadeIn(1000).siblings().stop().fadeOut(1000);
    };
    /*当鼠标划入、划出轮播图区域时:
    1.划入时停止自动轮播
    2.划出时继续自动轮播
    */
    $(".outer").hover(function () {
        clearInterval(time);
    },
    function () {
        time=setInterval(move,1000);
    });
     /*点击右侧按钮时执行*/
    $(".right_btn").click(function () {
       move();
    });
     /*点击左侧按钮时执行*/
    function moveL() {
         index--;
        if (index==-1){
            index=3
        }
        $(".num li").eq(index).addClass("current").siblings().removeClass("current");
        $(".img li").eq(index).stop().fadeIn(1000).siblings().stop().fadeOut(1000);
    }
    $(".left_btn").click(function () {
        moveL();
    });
</script>

完整源码下载:

https://download.csdn.net/download/baobao267/10665038 

  • 32
    点赞
  • 253
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
jQuery是一个广泛使用的JavaScript库,使得网页开发更加简便。响应式商城是指根据不同设备的屏幕大小和分辨率自动调整布局和显示效果的电子商务网站。现在我将使用中文回答关于jQuery响应式商城源码的问题。 首先,响应式商城的源码中会包含HTML、CSS和JavaScript代码HTML代码主要用来定义网页的结构和内容,CSS代码用来设置网页的样式和布局,而JavaScript代码则用来实现网页的交互和动态效果。 在jQuery响应式商城源码中,会使用jQuery库来简化编写JavaScript代码的过程。通过使用jQuery的选择器和方法,可以更方便地操作网页元素,实现动态效果和交互功能。例如,可以使用jQuery的选择器来选择特定的元素,并使用其方法来修改元素的样式或内容。 响应式商城的源码还会使用媒体查询来实现根据设备屏幕大小和分辨率的布局调整。媒体查询可以根据不同的CSS选择器条件来应用不同的样式规则,从而实现响应式布局。例如,可以通过媒体查询设置不同屏幕大小下网页元素的宽度和位置。 此外,响应式商城的源码还会使用一些jQuery插件来增强网站的功能和效果。例如,可以使用轮播插件实现商品图片的自动切换,使用下拉菜单插件实现商品分类的选择,使用动画插件实现网页元素的平滑过渡效果等等。 总之,jQuery响应式商城源码将综合运用HTML、CSS和JavaScript,利用jQuery库和一些插件,实现根据设备屏幕大小和分辨率自动调整布局和显示效果的电子商务网站。这样的源码可以使网页开发更加高效和便捷,提供更好的用户体验。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值