网站banner无缝轮播

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>图片轮播</title>
<meta name="description" content="">
<meta name="keywords" content="">
<link href="" rel="stylesheet">
<style type="text/css">
    html,body{
        padding: 0;
        margin: 0;
    }
    ul,ul li{
        list-style: none;
        margin: 0;
        padding: 0;
    }
    .box{
    }
    #banner{
        position: relative;
        height:auto;
        overflow: hidden;
    }
    #banner ul{
        position:absolute;
    }
    #banner ul li{
        float: left;
    }
    #banner ul li img{
        width: 100%;
        height: 100%;
    }
    #banner #prevBtn,#banner #nextBtn{
        height:80px;
        width:30px;
        background:rgba(0,0,0,0.5);
        position:absolute;
        top:50%;
        margin-top:-40px;
        font-size:30px;
        line-height:80px;
        text-align:center;
        text-decoration:none;
        color:white;
        opacity: 0;
        transition: opacity 0.8s ease;
    }
    #banner #prevBtn{
        left:0;
    }
    #banner #nextBtn{
        right:0;
    }
    #banner:hover #prevBtn,#banner:hover #nextBtn{
        opacity: 1;
    }
    .dot{
        height:10px;
        width:10px;
        border-radius:10px;
        background:#2196f3;
        display:inline-block;
        margin:5px;
    }
    .on{
        background: #009688;
    }
</style>
</head>
<body>
    <div class="box">
        <div id="banner">
            <ul id="banner-wrap">
                <li>
                    <img src="http://www.zxhuan.com/wp-content/uploads/2016/02/img1.jpg">
                </li>
                <li>
                    <img src="http://www.zxhuan.com/wp-content/uploads/2016/02/img2.jpg">
                </li>
                <li>
                    <img src="http://www.zxhuan.com/wp-content/uploads/2016/02/img3.jpg">
                </li>
                <li>
                    <img src="http://www.zxhuan.com/wp-content/uploads/2016/02/img4.jpg">
                </li>
                <li>
                    <img src="http://www.zxhuan.com/wp-content/uploads/2016/02/img5.jpg">
                </li>
            </ul>
        </div>
    </div>
    <script type="text/javascript" src=‘http://libs.baidu.com/jquery/2.0.0/jquery.js‘></script>
    <script type="text/javascript">
        (function($,window,document,undefinen){
            $.fn.bannerSwiper=function(option){
                this.default={
                    boxWrap:null,//必填
                    nextBtn:false,//是否往下启动按钮
                    prevBtn:false,//是否往上启动按钮
                    autoPlay:false,//是否启动自动播放
                    times:3000,//自动轮播的时间间隔,
                    speed:600,//点击按钮是切换的速度
                    circle:false,//是否启动小圆点
                    circleAlign:"center",//小圆点的对其方式
                    circleClick:false//小圆点是否可以点击
                }
                var self=this;
                this.time=null;
                this.options=$.extend({},this.default,option);
                self.flag=true;
                // 插件入口
                this.init=function(){
                    this.bulid();
                }
                this.bulid=function(){
                    var self=this;
                    var wrap=self.options.boxWrap;
                    self.num=1;
                    self.nowTime=+new Date();
                    self.width=$(window).width();
                    var firstImg=$(wrap).find(‘li‘).first();
                    var lastImg=$(wrap).find(‘li‘).last();
                    $(wrap).append(firstImg.clone());
                    $(wrap).prepend(lastImg.clone());
                    self.length=$(wrap).find(‘li‘).length;
                    $(wrap).width(self.width*self.length);
                    $(wrap).find(‘li‘).width(self.width)
                    $(wrap).parent().height(480);
                    $(wrap).parent().width(self.width);
                    $(wrap).css({‘left‘:-self.width*self.num})
                    // 是否启动自动轮播
                    if(self.options.autoPlay){
                        self.plays();
                    }
                    // 是否启动按钮
                    if(self.options.nextBtn){
                        self.NextBtn();
                    }
                    // 是否启动按钮
                    if(self.options.prevBtn){
                        self.prevBtn();
                    }
                    // 是否启动小圆点
                    if(self.options.circle){
                        self.circle()
                    }
                    if(self.options.circleClick){
                        self.clickCircle();
                    }
                }
                // // 鼠标移入时
                self.on(‘mouseenter‘,function(){
                    self.stops();
                })
                // 鼠标移出时
                self.on(‘mouseleave‘,function(){
                    self.plays(1);
                })
                // 开始计时器,自动轮播
                this.plays=function(){
                    var self=this;
                    // self.stops();
                    console.log(‘play‘)
                    this.time=setInterval(function(){
                        self.go(-self.width)
                    },self.options.times);
                }
                // 停止计时器
                this.stops=function(){
                    console.log(‘stop‘);
                    clearInterval(self.time)
                }
                // 手动创建按钮元素
                this.prevBtn=function(){
                    var self=this;
                    var ele=$("<a href=‘javascript:;‘ id=‘prevBtn‘><</a>");
                    self.append(ele);
                    $(‘#prevBtn‘).bind("click",function(){
                        self.go(self.width);
                    })
                }
                // 手动创建按钮元素
                this.NextBtn=function(){
                    var self=this;
                    var ele=$("<a href=‘javascript:;‘ id=‘nextBtn‘>></a>");
                    self.append(ele)
                    $(‘#nextBtn‘).bind("click",function(){
                        self.go(-self.width);
                    })
                }
                // 手动创建小圆点
                this.circle=function(){
                    var self=this;
                    var ele=$(‘<div id="circle-wrap"></div>‘);
                    for(var i=0;i<self.length-2;i++){
                        $(‘<a class="dot" href="javascript:;"></a>‘).appendTo(ele)
                    }
                    ele.css({
                        "position":"absolute",
                        ‘bottom‘:‘0‘,
                        ‘right‘:‘0‘,
                        ‘left‘:‘0‘,
                        ‘height‘:‘20px‘,
                        "padding":"0 10px",
                        ‘text-align‘:self.options.circleAlign
                    });
                    self.append(ele);
                    self.playCircle(this.num-1);
                }
                //小圆点指定当前项
                this.playCircle=function(num){
                    $(‘#circle-wrap‘).find(‘.dot‘).eq(num).addClass(‘on‘).siblings().removeClass(‘on‘);
                }
                // 点击小圆点
                this.clickCircle=function(){
                    var self=this;
                    $(‘#circle-wrap‘).find(‘.dot‘).on(‘click‘,function(){
                        self.num=$(this).index()+1;
                        self.circlePlay()
                    })
                }
                // 点击小圆点,图片切换
                this.circlePlay=function(){
                    self.flag=true;
                    if(self.flag){
                        self.flag=false;
                        $(self.options.boxWrap).stop().animate({
                            ‘left‘:-self.num*self.width
                        },self.options.speed,function(){
                            self.flag=true;
                        });
                    }
                    self.playCircle(this.num-1);
                }
                // 点击按钮,进行轮播,以及自动轮播
                this.go=function(offset){
                    var self=this;
                    if(self.flag){
                        self.flag=false;
                         if(offset<0){
                             self.num++;
                             if(self.num>self.length-2){
                                 self.num=1;
                             }
                         }
                         if(offset>0){
                             self.num--;
                             if(self.num<=0){
                                self.num=self.length-2
                             }
                         }
                         if(Math.ceil($(self.options.boxWrap).position().left)<-(self.length-2)*self.width){
                            $(self.options.boxWrap).css({
                                ‘left‘:-self.width
                            });
                        }
                        if(Math.ceil($(self.options.boxWrap).position().left)>-self.length){
                            $(self.options.boxWrap).css({
                                ‘left‘:-self.width*(self.length-2)
                            })
                        }
                        self.playCircle(this.num-1);
                        $(self.options.boxWrap).stop().animate({
                            ‘left‘:$(self.options.boxWrap).position().left+offset
                        },self.options.speed,function(){
                            self.flag=true;
                        });
                    }
                }
                this.init();
            }
        })(jQuery,window,document)
        $(‘#banner‘).bannerSwiper({
            boxWrap:"#banner-wrap",
            nextBtn:true,
            prevBtn:true,
            autoPlay:true,
            circle:true,
            circleClick:true
        })
    </script>
</body>
</html>
时间: 2024-07-28 13:11:18

网站banner无缝轮播的相关文章

左右无缝轮播图的实现

无缝轮播图: <title>无缝轮播图</title> <style> *{margin: 0;padding:0; } ul{list-style: none;} .banner{width: 600px;height: 300px;border: 2px solid #ccc;margin: 100px auto;position: relative;overflow: hidden;} .img{position: absolute;top: 0;left: 0}

jquery无缝轮播事Dome

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>无缝轮播</title> <script type="text/javascript" src="js/jQuery1.11.1.js"></script> <style type=&qu

【实践】纯jquery实现图片滑动无缝轮播,带左右按钮及控制按钮

在此随笔之前,博主已经做过一次图片滑动轮播,如过你也有看过就会知道里面的效果在自动轮播的时候有一个不太美观的效果,就是当最后一张图片滑动切换到第一张图片的时候会看到一个快速向左滑动的效果,这是很不美观的,当然也有网站是这样做.但博主参照过很多网站的图片轮播基本上都是无缝的(一张紧接着一张),所以博主也决定自己做一个. 做这个之前博主还在某客学院看了视频教程,此方法为纯jquery方法,比js混合jq方法易懂简洁所以有必要给大家分享一下 先上html代码以及css代码 <!doctype html

jQuery制作无缝轮播效果

[一]HTML结构 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>jquery制作无缝轮播器</title> <script type="text/javascript" src="jquery-1.12.4.js"></script> &

分别用css3、JS实现图片简单的无缝轮播功效

本文主要介绍分别使用CSS3.JS实现图片简单无缝轮播功效: 一.使用CSS3实现:利用animation属性 (实现一张一张的轮播,肉眼只看见一张图片) HTML部分比较简单,两个div下包着几个img标签:为了实现无缝轮播,注意第一张图片要与最后一张图片相同: <div class="out"> <div class="imgs"> <img src="img/beatuy.jpg"/> <img s

jq实现无缝轮播

2016-10-14 jq实现无缝轮播 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <me

jQuery插件版无缝轮播,重写了之前的代码,显得更高大上一点

轮播图之前也写了好几个,但是对于怎么实现无缝轮播还是有着不小的困惑,趁着周末了解了一下实现原理之后,重写了之前发布的案例(再看那个案例写的代码,真心心塞啊,不过只要努力学习,天天进步就好).好了,下面就来说下如何实现无缝轮播. 百度了很多,各种各样的说法,但说的都不太明白,最后还是看了视频解决的. 我实现的这种思路是这样的:1.假设你是用无序列表实现的哈,里面的每个li 包含着你的一个图片,首先呢,你得克隆一份第一张图片,并将其追加到你的ul 里面.2.通过改变ul 的left 值,你实现了一张

使用Bootstrap 3开发响应式网站实践03,轮播下方的内容排版

通常把一些重要信息.需要重点标注的信息放在轮播的下方显示,这部分区域用到了大字体的标题.副标题以及段落文字等. <div class="row" id="bigCallout"> <div class="col-md-12"> <div class="well"> <div class="page-header"> <h1>梅西升腾小宇宙<s

动态添加的无缝轮播

一般的前段都会写百叶窗的无缝轮播,但那种一般局限于静态页面,就是在html后面添加多一屏的图片.但这种遇到程序员后台添加的时候就产生问题,所以我们不能在html页面中直接添加第一屏的图了,那就在jq中获取html中第一屏的内容再添加到最后