Jquery淡入淡出轮播图

Jquery淡入淡出轮播图

因为代码不多所以我就写一个html文件里了

html代码

<div class="banner">
  <ul>
    <li><a href="javascript:;"><img src="./1 (1).png" /></a></li>
    <li><a href="javascript:;"><img src="./1 (2).png" /></a></li>
    <li><a href="javascript:;"><img src="./1 (3).png" /></a></li>
    <li><a href="javascript:;"><img src="./1 (4).png" /></a></li>
    <li><a href="javascript:;"><img src="./1 (5).png" /></a></li>
  </ul>
  <div class="arrow">
    <span class="arrow-l"><</span>
  <span class="arrow-r">></span>
  </div>
  <ol>
    <li class="dot"></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
  </ol>
</div>

css代码

<style>
    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }
    body{
        background-color:#fff;
    }
    li{
        list-style:none;
    }
    .banner{
        width:1920px;
        height:450px;
        margin:100px auto;
        position:relative;

    .banner ul li{
        display:none;
        position:absolute;
    }
    .banner ul li:first-child{
        display:block;
    }
    .banner ul li a{
        display:block;
    }
    .banner ul li a img{
        width:1920px;
        height:auto;

    .arrow span {
        width:20px;
        height:30px;
        background:rgba(0,0,0,0.05);
        color:#fff;
        position:absolute;
        top:50%;
        transform:translate(0,-50%);
        line-height:30px;
        text-align:center;
        font-size:20px;
        cursor:pointer;
    }
    .arrow-l{
        left:20px;
    }
    .arrow-r{
        right:20px;
    }
    .banner ol{
        position:absolute;
        bottom:20px;
        right:60px;
    }
    .banner ol li {
        float: left;
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background: rgba(0,0,0,0.4);
        margin-left:12px;
        cursor:pointer;
        border:2px solid rgba(255,255,255,0.3);
    }
    .banner ol li.dot{
        border:2px solid rgba(0,0,0,0.4);
        background:#fff;
    }
</style>

javascript代码

<script>
    //切换图片函数
    function bannerImg(count,Img,dot) {
        //让索引为count的li元素显示出来,siblings其他li元素隐藏
        $(Img).eq(count).stop("slow").fadeIn().siblings("li").stop().fadeOut("slow");
        //切换当前索引的小圆点样式
        $(dot).eq(count).addClass("dot").siblings("li").removeClass("dot");
    }
    $(function () {
        var count = 0;
        var banImg = $(".banner ul li");
        var bandot = $(".banner ol li");
        //下一张
        $(".arrow-r").click(function () {
            count++;
            if (count == banImg.length) {
                count = 0;
            }
            bannerImg(count, banImg, bandot);
        });
        //上一张
        $(".arrow-l").click(function () {
            count--;
            if (count < 0) {
                count = banImg.length - 1;
            }
            bannerImg(count, banImg, bandot);
        });
        //小圆点控制轮播
        $(bandot).click(function () {
            count = $(this).index();
            bannerImg(count, banImg, bandot);
        })
        //定时器轮播
        var adTimer;
        adTimer = setInterval(function () {
            count++;
            if (count == banImg.length) {
                count = 0;
            }
            bannerImg(count, banImg, bandot);
        }, 3000);
        //鼠标移入停止轮播
        $(".banner").mouseover(function () {
            clearInterval(adTimer);
        });
        //鼠标移出开始轮播
        $(".banner").mouseout(function () {
            adTimer = setInterval(function () {
                count++;
                if (count == banImg.length) {
                    count = 0;
                }
                bannerImg(count, banImg, bandot);
            }, 3000);
        });
    })
</script>

完整的代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
    <title>Document</title>
        <style>
            * {
                margin: 0;
                padding: 0;
                box-sizing: border-box;
            }
            body{
                background-color:#fff;
            }
            li{
                list-style:none;
            }
            .banner{
                width:1920px;
                height:450px;
                margin:100px auto;
                position:relative;
            }

            .banner ul li{
                display:none;
                position:absolute;
            }
            .banner ul li:first-child{
                display:block;
            }
            .banner ul li a{
                display:block;
            }
            .banner ul li a img{
                width:1920px;
                height:auto;
            }

            .arrow span {
                width:20px;
                height:30px;
                background:rgba(0,0,0,0.05);
                color:#fff;
                position:absolute;
                top:50%;
                transform:translate(0,-50%);
                line-height:30px;
                text-align:center;
                font-size:20px;
                cursor:pointer;
            }
            .arrow-l{
                left:20px;
            }
            .arrow-r{
                right:20px;
            }
            .banner ol{
                position:absolute;
                bottom:20px;
                right:60px;
            }
            .banner ol li {
                float: left;
                width: 12px;
                height: 12px;
                border-radius: 50%;
                background: rgba(0,0,0,0.4);
                margin-left:12px;
                cursor:pointer;
                border:2px solid rgba(255,255,255,0.3);
            }
            .banner ol li.dot{
                border:2px solid rgba(0,0,0,0.4);
                background:#fff;
            }
        </style>
</head>
<body>
    <div class="banner">
        <ul>
            <li><a href="javascript:;"><img src="./1 (1).png" /></a></li>
            <li><a href="javascript:;"><img src="./1 (2).png" /></a></li>
            <li><a href="javascript:;"><img src="./1 (3).png" /></a></li>
            <li><a href="javascript:;"><img src="./1 (4).png" /></a></li>
            <li><a href="javascript:;"><img src="./1 (5).png" /></a></li>
        </ul>
        <div class="arrow">
            <span class="arrow-l"><</span>
            <span class="arrow-r">></span>
        </div>
        <ol>
            <li class="dot"></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
        </ol>
    </div>
<!-- 引入JQ框架 -->
<script src="./jquery-1.9.1.js"></script>
<script>
    //切换图片函数
    function bannerImg(count,Img,dot) {
        //让索引为count的li元素显示出来,siblings其他li元素隐藏
        $(Img).eq(count).stop("slow").fadeIn().siblings("li").stop().fadeOut("slow");
        //切换当前索引的小圆点样式
        $(dot).eq(count).addClass("dot").siblings("li").removeClass("dot");
    }
    $(function () {
        var count = 0;
        var banImg = $(".banner ul li");
        var bandot = $(".banner ol li");
        //下一张
        $(".arrow-r").click(function () {
            count++;
            if (count == banImg.length) {
                count = 0;
            }
            bannerImg(count, banImg, bandot);
        });
        //上一张
        $(".arrow-l").click(function () {
            count--;
            if (count < 0) {
                count = banImg.length - 1;
            }
            bannerImg(count, banImg, bandot);
        });
        //小圆点控制轮播
        $(bandot).click(function () {
            count = $(this).index();
            bannerImg(count, banImg, bandot);
        })
        //定时器轮播
        var adTimer;
        adTimer = setInterval(function () {
            count++;
            if (count == banImg.length) {
                count = 0;
            }
            bannerImg(count, banImg, bandot);
        }, 3000);
        //鼠标移入停止轮播
        $(".banner").mouseover(function () {
            clearInterval(adTimer);
        });
        //鼠标移出开始轮播
        $(".banner").mouseout(function () {
            adTimer = setInterval(function () {
                count++;
                if (count == banImg.length) {
                    count = 0;
                }
                bannerImg(count, banImg, bandot);
            }, 3000);
        });
    })
</script>
</body>
</html>

原文地址:https://www.cnblogs.com/hb88/p/11969809.html

时间: 2024-10-27 13:51:45

Jquery淡入淡出轮播图的相关文章

jQuery淡入淡出轮播图实现

大家好我是QD小白,这是人生第一次写博客,准备写的内容是Jquery淡入淡出轮播图实现,在此之前学习JS写的轮播图效果都感觉不怎么好,学习了jQuery里的淡入淡出效果后又写了一次轮播图效果明显感觉好了许多.现在我就来分享下自己写轮播图的思路和方法. HTML部分: <div id="img-box" style="width:700px; height:350px;"> <img style="opacity: 1;" wid

jq交叉淡入淡出轮播图

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 <style type="text/css"> 7 *{ 8 padding:0; 9 margin:0; 10 } 11 ul,ol{ 12 list-style:

淡入淡出轮播图

<!DOCTYPE html><html><head><style type="text/css"> body{background:#57beb9;}/* main */#main{width:920px;height:430px;overflow:hidden;position:relative;margin:30px auto;}#main .box{width:820px;height:430px;box-shadow:0px 0

jquery简单无缝轮播图实现

此简单轮播图布局原理是: 一个div包含图片列表,和控制按钮.其宽度等于图片的宽度,溢出隐藏. 图片要左浮动. jquery原理: 开一个定时器,隔一段时间执行图片列表向左移动一个图片的宽度,同时在移动时设置一个回调函数. 把向左移动的图片,也是图片列表的第一张图片,添加到图片列表ul的末尾. 这样实现了,图片自动播放的效果. 怎么带动图片控制的小按钮变亮? 因为每一次图片轮播,都会改变图片值得索引,那就给函数加一个变量 i ,每一次执行定时器都会i++: var spanindex=i%4;

基于Jquery实现的轮播图

前阵子我用js写了一个轮播图,现在的话换成jQuery来实现,先看看效果图 首先是html结构,如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>jquery版图片轮播</title> <link rel="stylesheet" href="css/index.css" /> &l

jQuery实现简易轮播图的效果

(图片素材取自于小米官网) 刚开始接触jQuery的学习,个人觉得如果为了实现多数的动态效果,jQuery的确很简易方便. 下面简易的轮播图效果,还请前辈多多指教~ (努力学习react vue angular中,加油~~~) <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> &

用jQuery写的轮播图

效果图: 与前一篇写的轮播图实现的效果一致,这个是用jQuery写的,相对简单一点的吧. 这个是js代码,我先粘上去. <script src="../jquery-3.3.1.min.js"></script> <script> var index = 1; var newLeft = 0; var interval; var buttSpan = $(".butt").children(); function nextPage

用 jQuery 手写轮播图

先上个效果截图: 主要包含以下功能点: * 1.页面加载完,自动循环翻页* 2.翻页按钮,翻页* 3.定点翻页* 4.翻页时同步圆点状态* 5.鼠标进入,停止自动翻页* 6.快速点击翻页的bug(加 isPaging 标志) 主要包含以下功能点: * 1.页面加载完,自动循环翻页* 2.翻页按钮,翻页* 3.定点翻页* 4.翻页时同步圆点状态* 5.鼠标进入,停止自动翻页* 6.快速点击翻页的bug(加 isPaging 标志) 上代码: <!DOCTYPE html> <html>

写jquery插件【轮播图】历程

轮播图插件的任务已经接近尾声,在书写轮播图期间确实有一些小的感触的.感兴趣的可以访问我的轮播图的线上地址:轮播图 首先,轮播图插件其实并不是我第一次写,之前也写过,不过那时候是按照别人的思路写下来的,算起来大概有一年了,这次又一次开始轮播图是因为拜读了<单页面Web应用 JavaScript从前端到后端>的这本书的1-4章,我开始跃跃欲试的想把它用到自己的代码中,书本中前四章的思想是将js模块化,我就跟着作者的代码思路以及代码习惯先尝试着做了个轮播图,发现作者的模块化思想非常好,时间长了,养成