• 网站banner无缝轮播


    网站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>
  • 相关阅读:
    双11专刊|云原生数据仓库AnalyticDB支撑双11,大幅提升分析实时性和用户体验
    LeetCode_Binary Tree Inorder Traversal
    LeetCode_4Sum
    LeetCode_Add Binary
    LeetCode_Add Two Numbers
    LeetCode_3Sum Closest
    Building CEGUI with Ogre 1.8.1
    LeetCode_3Sum
    LeetCode_Climbing Stairs
    LeetCode_Binary Tree Level Order Traversal
  • 原文地址:https://www.cnblogs.com/xionggeclub/p/5880922.html
Copyright © 2020-2023  润新知