zoukankan      html  css  js  c++  java
  • 用html +js+css 实现页面轮播图效果

    html 页面

    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" href="carousel.css">
    <title>轮播图效果</title>
    </head>
    <body>
    <section id="main">
    <div id="picture"></div>
    <!-- 添加图中按钮 图片轮播在js中大致成型后再写最好-->
    <div id="dot">
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    </div>

    <!-- 添加切换按钮 -->
    <div id="an">
    <div class="left">&lt;</div>
    <div class="right">&gt;</div>
    </div>
    </section>
    <script src="jquery.js"></script>
    <script src="carousel.js"></script>
    </body>
     
     
    css页面 carousel.css
      
    #main{
    width: 655px;
    height: 361px;
    position: relative;
    }
    #picture{
    width:100%;
    height: 100%;
    }
    #picture img{
     
    width:100%;
    height: 100%;
    display: none;
    }

    #picture img:nth-child(1){
    display: inline-block;
    }


    /* 设置圆点的样式 */
    #dot span{
    display: inline-block;
    width:25px;
    height: 25px;
    border-radius: 50%;
    background-color: gray;
    margin-left: 10px;
    opacity: 0.6
    }

    #dot{
    position: absolute;
    right: 40px;
    bottom: 30px;
    }

    /* 设置页面刚加载的圆点初始状态 1 第一个圆点放大1.2倍 2、颜色变成蓝色
    */
    #dot :nth-of-type(1){
    transform: scale(1.2);
    background-color: blue;
    }

    .left ,.right{
     
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 30px;
    color: white;
    position: absolute;
    bottom: calc((100% - 40px)/2);
    text-align: center;
    }

    .left{
    left: 15px;
    }
    .right{
    right: 15px;
    }

    .left:hover ,.right:hover{
    background-color: white;
    color:red;
    }
      js页面 carousel.js
     
    for(var i=1; i<6;i++){
    $('#picture').append("<img src='./../images/"+i+".jpg' >");
    }
    //给图片转化设置定时函数
    var index=0;
    var timer;
    function changeImageDot(){
    $('#picture img:nth-child('+(index+1)+')').css({
    display:'block',
    }).siblings().css({
    display:'none',
    });
    //设置随图片切换,对应的圆点样式发生变化
    // index+1 是因为索引是从0开始而 nth-child(i) 中的i是从1 开始的
    $('#dot span:nth-child('+(index+1)+')').css({
    transform: 'scale(1.2)',
    'background-color': 'blue',
    }).siblings().css({
    transform: 'scale(1)',
    'background-color':'gray',
    });
    }
    function produceTime(){
    timer=setInterval(function(){
    index++;
    if(index==5)
    index=0;
    changeImageDot();
     
    },2000);
    }

    produceTime();
    //鼠标悬浮在圆点上 , 圆点和图片的变化
    $('#dot span').mouseenter(function(){
    index=$(this).index();
    changeImageDot();
    clearInterval(timer);
    produceTime();
    });
    //缺点:点击切换按钮后,图片切换后 ,会立即切换到下一个图片,需要设置 清除计时器后再新建一个计时器
    $('.left').click(function(){
    index--;
    if(index==-1)
    index=4;
    changeImageDot();
    clearInterval(timer);
    produceTime();

    });

    $('.right').click(function(){
    index++;
    if(index==5)
    index=0;
    changeImageDot();
    clearInterval(timer);
    produceTime();
    });




  • 相关阅读:
    超级女声杭州赛区7进5
    究竟怎么了?
    最近发现
    S2SH基于角色权限拦截
    基于S2SH的电子商务网站系统性能优化
    TSQL复习笔记(一)
    用户sa登录失败,该用户与可信sql server连接无关联
    SQL附加数据库报5120的错误的解决办法
    DotNet中配置文件的使用(一)
    JQuery中使用AJAX $.ajax(prop)方法详解
  • 原文地址:https://www.cnblogs.com/shaoxiaohuan/p/7562224.html
Copyright © 2011-2022 走看看