• jQ版大图滚动


    <!DOCTYPE html>

    <html>

    <head>

    <meta charset="utf-8" />

    <title>jQ版大图滚动</title>

    <style>

    *{margin: 0; padding: 0; list-style: none; -webkit-user-select: none;}

    /*-webkit-user-select: none;取消频繁点击下,文字和图片选中态,每个浏览器有不同的写法,这里只举例了谷歌*/

    .btn_mod,.img_mod{width: 400px; margin: 20px auto 0; overflow: hidden;}

    .img_mod,.img_mod img{height: 400px;}

    .img_mod{position: relative;}

    .img_mod .scroll{position: absolute; left: 0; top: 0;}

    .img_mod .scroll img{float: left; width: 400px; height: 400px;}

    .btn_mod{padding-left: 10px;}

    .btn_mod li,.btn_mod div{float: left; width: 60px; height: 30px; line-height: 30px; text-align: center; color: #666; background: #ccc; cursor: pointer; font-size: 14px; margin-right: 6px;

    .btn_mod .active{background: #999;}

    </style>

    </head>

    <body>

    <div class="btn_mod">

    <div class="prev">上一页</div>

    <ul class="btn_list">

    <li class="active">1</li>

    <li>2</li>

    <li>3</li>

    <li>4</li>

    </ul>

    <div class="next">下一页</div>

    </div>

    <div class="img_mod">

    <div class="scroll" style="width: 9999px;">

    <img src="img/img01.jpg"/>

    <img src="img/img02.jpg"/>

    <img src="img/img03.jpg"/>

    <img src="img/img04.jpg"/>

    <img src="img/img01.jpg"/>

    </div>

    </div>

    </body>

    <script type="text/javascript" src="js/jquery.js"></script>

    <script type="text/javascript">

    var btns = $(".btn_list li");//数字按钮

    var prevBtn = $(".prev");//上一页按钮

    var nextBtn = $(".next");//下一页按钮

    var scroll = $(".scroll");//滚动对象

    var imgs = $(".scroll img");//图片

    var width = $(".img_mod img:eq(0)").width();//图片宽度

    var index = 0;//初始下标

    var imgLength = imgs.length - 1;//最后一张图的下标

    var lock = false;//锁,防止频繁操作发生错乱

    //下一张按钮的点击事件

    nextBtn.click(function(){

    clearInterval(timer);

    aa();

    if (lock) {

    return;

    }

    lock = true;

    var left = parseInt(scroll.position().left);

    //在原本最后一张图和结尾重复的第一张图之间时

    if (left <= -(imgLength-1)*width && left > -imgLength*width) {

    index = 0;

    scroll.animate({

    left : -imgLength*width

    })

    } else if(left <= -imgLength*width){//滚到结尾重复的第一张图时

    //由于结尾重复的第一张图已经出现过,所以从第二张图开始继续新一轮滚动

    index = 1;

    scroll.css("left", 0);

    scroll.animate({

    left : -width

    })

    } else{

    index++;

    //边界值判断

    index = index > imgLength ? imgLength - 1:index;

    scroll.animate({

    left : -index*width

    })

    }

    //数字选中态

    btns.eq(index).addClass("active").siblings().removeClass("active");

    setTimeout(function(){

    lock = false;

    },500);

    });

    //上一张按钮的点击事件

    prevBtn.click(function(){

    clearInterval(timer);

    aa();

    if (lock) {

    return;

    }

    lock = true;

    var left = parseInt(scroll.position().left);

    //在第一张图和第二张之间

    if (left > -width && left <= 0) {

    //index等于原本最后一张图的坐标

    index = imgLength - 1;

    //从重复的第一张滚到原本最后一张

    scroll.css("left", -imgLength*width);

    scroll.animate({

    left : -index*width

    });

    } else{

    index--;

    //边界值判断

    index = index < 0 ? 0:index;

    scroll.animate({

    left : -index*width

    })

    }

    //数字选中态

    btns.eq(index).addClass("active").siblings().removeClass("active");

    setTimeout(function(){

    lock = false;

    },500);

    });

     

    //数字的点击事件

    btns.click(function(){

    clearInterval(timer);

    aa();

    index = $(this).index();

    btns.eq(index).addClass("active").siblings().removeClass("active");

    scroll.animate({

    left : -index*width

    })

    });

    var timer;

    function aa(){

    //自动轮播

    timer = setInterval(function(){

    index++;

    if (index == imgLength) {

    index = 0;

    }

    scroll.animate({

    left : -index*width

    })

    btns.eq(index).addClass("active").siblings().removeClass("active");

    },2000);

    }

    aa();

    </script>

    </html>

  • 相关阅读:
    错误解决记录-------------验证启动HDFS时遇到的错误
    Spark环境搭建(一)-----------HDFS分布式文件系统搭建
    Synergy简单使用小记
    python基础一 ------排序和查找算法
    Scrapy基础(十四)————Scrapy实现知乎模拟登陆
    Scrapy基础(十四)————知乎模拟登陆
    Scrapy基础(十三)————ItemLoader的简单使用
    Scrapy基础(十二)————异步导出Item数据到Mysql中
    简单python爬虫练习 E站本爬取
    7-4 jmu-Java&Python-统计文字中的单词数量并按出现次数排序 (25分)
  • 原文地址:https://www.cnblogs.com/luckyXcc/p/5775192.html
Copyright © 2020-2023  润新知