问答详情
源自:5-2 将功能抽象成模块

定义的模块返回不出去呢

Uncaught TypeError: Cannot read property 'ScrollTo' of undefined

提问者:MR_Li紫 2016-05-11 15:51

个回答

  • marshall_stan
    2016-06-21 16:14:44

    5768f75f000123cc04020080.jpg

    5768f75f00011b1505000069.jpg

    这样看就很明显了

  • marshall_stan
    2016-06-21 16:13:16

    你看你的数组的右括号在哪里呢?你的function不能写在[]里面的。

    define(['jquery'],function ($) {
        function ScrollTo(opts) {
            this.opts = $.extend({},ScrollTo.DEFAULTS,opts);
            this.$el = $('html,body');
        }
        ScrollTo.prototype.move = function () {
            var opts = this.opts;
            this.$el.animate({
                scrollTop:opts.dest
            },opts.speed);
        };
        ScrollTo.prototype.go = function () {
            this.$el.scrollTop(this.opts.dest);
        };
        ScrollTo.DEFAULTS = {
            dest:0,
            speed:500
        };
        return {
            ScrollTo:ScrollTo
        };
    });

    看到区别了吗?

  • MR_Li紫
    2016-05-11 15:54:34

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


    function ScrollTo(opts){

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

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


    };

    ScrollTo.prototype.move = function(){

    var opts = this.opts

    this.$el.animate({scrollTop:opts.dest},opts.speed);

    };

    ScrollTo.prototype.go = function(){

    this.$el.scrollTop(this.opts.dest);

    };

    ScrollTo.Defaults = {

    dest:0,

    speed:800

    };

    return {

    ScrollTo : ScrollTo

    };

    }])