zoukankan      html  css  js  c++  java
  • JQ_图片轮播

    上次PO了一个Javascript实现的图片轮播。即使做了函数封装,代码量还是有点冗余。复用率还是不够高。

    下面用JQ实现一下图片轮播

    html:

    <div class="content">
            <div class="img_change">
    
                <div id="img_container" class="img_container"></div>
                
                <div class="change_btn">
                    <ul id="btn_container"></ul>
                </div>            
            </div>
        </div>
    html代码

    css代码:

     1 *{
     2     padding: 0;
     3     margin:0;
     4     box-sizing: border-box;
     5 }
     6 .content{
     7     width: 700px;
     8     margin:100px auto;
     9 }
    10 .img_change{
    11     position: relative;
    12     width: 731px;
    13 }
    14 .img_container{
    15     width: 731px;
    16     height: 300px;
    17 }
    18 .img_container img{
    19     position: absolute;
    20 }
    21 .change_btn{
    22     margin: 0 auto;
    23     padding: 10px;
    24     background: rgba(0,0,0,0.4);
    25 }
    26 .change_btn ul{
    27     list-style: none;
    28     text-align: center;
    29 }
    30 .change_btn>ul>li{
    31     display: inline-block;
    32     width:25px;
    33     height: 10px;
    34     background: #1e443f;
    35     cursor: pointer;
    36     opacity: 0.8;
    37     margin-right: 10px;
    38 }
    39 .active{
    40     background: #d7d7d7 !important;
    41 }
    css代码

    jq代码:

     1 $(function(){
     2     imgArr = ['banner-1.png','banner-2.png','banner-3.png'];
     3 
     4     initData();
     5 
     6     startChange();
     7 
     8     $("#btn_container li").bind("click",clickBtn)
     9 })
    10 
    11 //初始化
    12 function initData(){
    13     var len = imgArr.length;
    14 
    15     for(var i=0;i<len;i++){
    16         
    17         $("#img_container").append("<img src='./images/"+imgArr[i]+"'>");
    18         $("#btn_container").append("<li data-index='"+i+"'></li>");
    19     }
    20 
    21     $("#img_container img:not(:first)").hide();
    22     $("#btn_container li:first").addClass("active");
    23 }
    24 
    25 //轮播图片
    26 var timer = null;
    27 var cur = 0;
    28 function startChange(time){
    29     clearInterval(timer);
    30     var speedTime = time || 4000;
    31 
    32     timer = setInterval(function(){
    33         var next = cur+1 == imgArr.length ? 0:cur+1;
    34 
    35         changeImg(cur,next);
    36 
    37         cur = next;
    38 
    39     },speedTime)
    40 }
    41 
    42 //鼠标点击触发函数
    43 function clickBtn(){
    44     clearInterval(timer);
    45     var that = $(this);
    46     var next = parseInt(that.attr("data-index"));
    47 
    48     changeImg(cur,next);
    49     startChange();
    50     
    51     cur = next;
    52 }
    53 
    54 //改变显示的内容
    55 function changeImg(cur,next){
    56     $("#img_container img").eq(cur).fadeOut("2000");
    57     $("#btn_container li").eq(cur).removeClass("active");
    58 
    59     $("#img_container img").eq(next).fadeIn("2000");
    60     $("#btn_container li").eq(next).addClass("active");
    61 }

    效果和JS实现的效果大同小异(下面是JS的图片轮播)

    http://www.cnblogs.com/adelina-blog/p/5885130.html

    就不PO图片上来了

    以上内容,如有错误请指出,不甚感激。

  • 相关阅读:
    [算法] 堆栈
    [刷题] PTA 02-线性结构3 Reversing Linked List
    java IO流 (八) RandomAccessFile的使用
    java IO流 (七) 对象流的使用
    java IO流 (六) 其它的流的使用
    java IO流 (五) 转换流的使用 以及编码集
    java IO流 (四) 缓冲流的使用
    java IO流 (三) 节点流(或文件流)
    java IO流 (二) IO流概述
    java IO流 (一) File类的使用
  • 原文地址:https://www.cnblogs.com/adelina-blog/p/5917095.html
Copyright © 2011-2022 走看看