• 面向对象轮播


    /*
     面向对象的图片轮播,图片的最后一张是第一张图,图片的第一张是最后一张图,鼠标移入暂停轮播,可点击按钮和页码切换图片
     使用时需要获取一下对应的元素对象
     */
                
    //            var outer = $("#outer");//获取最大的框
    //            var oInner = $("#inner");//获取ul
    //            var item = $("#inner li");//获取li
    //            var leftBtn = $("#leftBtn");//获取左边按钮
    //            var rightBtn = $("#rightBtn");//获取右边按钮
    //            var pageList = $("#pageList");//获取页码的ul
    //            var pageBtn = $("#pageList li");//获取也页码的li

                function Lunbo(outer,oInner,item,leftBtn,rightBtn,pageList,pageBtn){
                    this.outer = outer;
                    this.oInner = oInner;
                    this.item = item;
                    this.leftBtn = leftBtn;
                    this.rightBtn = rightBtn;
                    this.pageList = pageList;
                    this.pageBtn = pageBtn;
                    this.pageNum = 1;
                    this.autoPlay();
                    this.pause();
                    this.btn();
                    this.pagination();
                }
                Lunbo.prototype.autoPlay = function(){
                    var that = this;
                    this.time = setInterval(function(){
                        that.pageChange(that);
                    },3000);
                }
                Lunbo.prototype.pageChange = function(that){
                    that.pageNum++;
                    that.count();
                }
                Lunbo.prototype.count = function(fn){
                    var start = parseInt(oGet.getStyle(this.oInner,"left"));
                    var end = -this.pageNum*640;
                    var step = (end - start)/100;
                    if(fn){
                        this.move(start,end,step,fn);
                    }else{
                        this.move(start,end,step);
                    }
                }
                Lunbo.prototype.active = function(){
                    for(var i=0;i<this.pageBtn.length;i++){
                        this.pageBtn[i].className = "";
                    }
                    this.pageBtn[this.pageNum-1].className = "active";
                }
                Lunbo.prototype.move = function(start,end,step,fn){
                    var num = 0;
                    var that = this;
                    this.oInner.time = setInterval(function(){
                        start += step;
                        num++;
                        if(num==100){
                            clearInterval(that.oInner.time);
                            start = end;
                            if(step<0&&that.pageNum==that.item.length-1){
                                that.pageNum = 1;
                                start = -that.item[0].offsetWidth;
                            }else if(step>0&&that.pageNum==0){
                                that.pageNum = that.item.length-2;
                                start = -that.item[0].offsetWidth*that.pageNum;
                            }
                            if(fn){
                                fn();
                            }
                            that.active();
                        }
                        that.oInner.style.left = start + "px";
                    })
                }
                Lunbo.prototype.pause = function(){
                    var that = this;
                    this.outer.onmouseover = function(){
                        clearInterval(that.time);
                        that.leftBtn.style.display = "block";
                        that.rightBtn.style.display = "block";
                    }
                    this.outer.onmouseout = function(){
                        that.autoPlay();
                        that.leftBtn.style.display = "";
                        that.rightBtn.style.display = "";
                    }
                }
                Lunbo.prototype.btn = function(){
                    var that = this;
                    this.leftBtn.lock = true;
                    this.rightBtn.lock = true;
                    
                    this.leftBtn.onclick = function(){
                        if(that.leftBtn.lock&&that.rightBtn.lock){
                            that.leftBtn.lock = false;
                            that.pageNum --;
                            that.count(function(){
                                that.leftBtn.lock = true;
                            });
                        }
                    }
                    this.rightBtn.onclick = function(){
                        if(that.leftBtn.lock&&that.rightBtn.lock){
                            that.rightBtn.lock = false;
                            that.pageNum ++;
                            that.count(function(){
                                that.rightBtn.lock = true;
                            });
                        }
                    }
                }
                Lunbo.prototype.pagination = function(){
                    var that = this;
                    console.log(that.pageBtn)
                    for(var i=0;i<this.pageBtn.length;i++){
                        this.pageBtn[i].index = i;
                        this.pageBtn[i].onclick = function(){
                            that.pageNum = this.index + 1;
                            that.count();
                        }
                    }
                }
                //var newLunbo = new Lunbo(outer,oInner,item,leftBtn,rightBtn,pageList,pageBtn);

  • 相关阅读:
    家庭记账本app进度之对于登录和注册两个界面点击按钮的相互跳转
    家庭记账本app进度之复选框以及相应滚动条的应用
    家庭版记账本app之常用控件的使用方法
    android 软件(app)之家庭版记账本首次进行helloword等相关测试
    家庭记账本app进度之android中AlertDialog的相关应用以及对日期时间的相关操作(应用alertdialog使用的谈话框)
    家庭版记账本app进度之关于android界面布局的相关学习
    家庭记账本app进度之关于单选按钮的相关操作(添加点击按钮事件以及点击单选更改事件)
    家庭记账本app进度之ui相关概念控制ui界面与布局管理
    家庭版记账本app进度之对于按钮的点击事件以及线性布局以及(alertdialog)等相关内容的应用测试
    乱了
  • 原文地址:https://www.cnblogs.com/yuejie/p/5982653.html
Copyright © 2020-2023  润新知