js面向对象编程1

首先,关注jquery的两个方法,$.extend({},ScrollTo.DEFAULTS,opts),如果用户输入opts就用opts,否则用默认值ScrollTo.DEFAULTS

$.proxy(this._move,this))重定向指针,this指向this对象实例而不是当前点击元素

 

 

//定义基本对象ScrollTo

define(['jquery'],function($){

  function ScrollTo(opts){//构造函数

    this.opts=$.extend({},ScrollTo.DEFAULTS,opts);

    this.$el=$('html,body');

  }

  ScrollTo.prototype.move=function(){//原型方法

    var opts=this.opts;

    var dest=this.dest;

    if($(window).scrollTop()!=dest){

      if(!this.$el.is(':animated')){

        this.$el.animate({

          scrollTop:dest

        },opts.speed);

      }

    }

  }

 

  ScrollTo.prototype.go=function(){

    var dest=this.opts.dest;

    if($(window).scrollTop()!=dest){

      this.$el.scrollTop(dest);

    }

  };

 

  ScrollTo.DEFAULTS={

    dest:0;

    speed:800

  };

 

  return {

    ScrollTo:ScrollTo//返回对象

  }

 

  

  

 

  

})

posted @ 2015-07-08 16:33  bjsunhe  阅读(153)  评论(0编辑  收藏  举报