为了账号安全,请及时绑定邮箱和手机立即绑定

老师在不在?有没有代码?把代码放上来呗^^

老师在不在?有没有代码?把代码放上来呗^^

正在回答

2 回答

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

        function ScrollTo(opst){
            this.opst =$.extend({},ScrollTo.DEFAULTS,opst);
            //exend表示的是继承,'opst'表示传替参数给默认函数’scrollTo.DEFAULTS‘,覆盖成新函数传给"{}"
            this.$el = $('html,body')
        }

        ScrollTo.prototype.move = function() {
            var opst = this.opst,
                des = opst.des
            if($(window).scrollTop() != des){//如果滚动条不在指定的位置

                if (!this.$el.is(':animated')) {
                //如果页面不在滚动,':animated'注意属性this.$el.is(':animated') *animated

                     this.$el.animate({
                        scrollTop:des    
                     },opst.speed);    
                }

            }

        };

        ScrollTo.prototype.go = function() {
            var des = this.opst.des
            if($(window).scrollTop() != des){
            this.$el .scrollTop(des);
        }

        }
        //当没有值的时候,默认值
          ScrollTo.DEFAULTS ={
              des:0,
              speed:800
          };

      return {
          ScrollTo:ScrollTo
      }
})
1 回复 有任何疑惑可以回复我~

define(['jquery','scrollto'],function($,scrollto){
     function BackTop(el,opts){
             this.opts =$.extend({},BackTop.DEFAULTS,opts);
             this.$el = $(el);
             this.scroll = new scrollto.ScrollTo({
                 des:0,
                  speed:this.opts.speed
                 })
             if(this.opts.mode == 'move'){
                 this.$el.on('click',$.proxy(this._move,this));
             }else{
                 this.$el.on('click',$.proxy(this._go,this));
             };
             $(window).on('scroll',$.proxy(this._checkPosition,this));
             this._checkPosition(this.opts.pos);
     }

     BackTop.DEFAULTS = {
         mode:'move',
         pos:$(window).height(),
         speed:800
     };
     BackTop.prototype._move =function(){
         this.scroll.move();
     };
     BackTop.prototype._go = function(){
         this.scroll.go();
     };
     //checkPosition($(window).height());
    
     BackTop.prototype._checkPosition = function(){
         
         if ($(window).scrollTop() > this.opts.pos) {
             this.$el.fadeIn();
         }else{
             this.$el.fadeOut();
         }
     };    
     // 封装插件
     $.fn.extend({//jQ封装插件的方法
         backtop:function(){//命名插件的名称
              this.each(function(opts){ //此前面可以用return this,后面的return this就可以删除
                 //遍历属性是否有多个,有多少个就执行多少个,用到“each”
                 new BackTop(this,opts)
             })
             return this;//返回函数
         }
     })
     return{         
         BackTop:BackTop
     }
});

0 回复 有任何疑惑可以回复我~
#1

陈小窝

go的方法无法执行,为啥呢
2017-02-23 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

老师在不在?有没有代码?把代码放上来呗^^

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信