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图片上来了

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

  • 相关阅读:
    Android广播接收器和Activity间传递数据
    Android广播接收器里弹出对话框
    Android本地广播
    setSupportActionBar()方法报错
    exec使用小计
    关于NSA的EternalBlue(永恒之蓝) ms17-010漏洞利用
    20154312 曾林 ExpFinal CTF Writeup
    20154312 曾林 EXP9 Web安全基础
    20154312 曾林 Exp8 web基础
    20154312 曾林 EXP7 网络欺诈防范
  • 原文地址:https://www.cnblogs.com/adelina-blog/p/5917095.html
Copyright © 2011-2022 走看看