index.js
define(function() {
function Window() {
}
Window.prototype = {
    //window 事件
    windowscreen: function(id) {
        //window.onload = this.getHeight(options);
        var that = this;
        window.onresize = function(id) {
                that.getHeight(id);
               //执行 onresize 函数的时候浏览器报错
               // index.js:32 Uncaught TypeError: Cannot read property 'style' of null
        }
        setInterval(this.getHeight(id), 1000);
    },
    //获取屏幕高度让指定元素垂直居中
    getHeight: function(id) {
        var oDiv = document.getElementById(id),
            screenHeight = document.documentElement.clientHeight;
            oDiv.style.marginTop = (parseInt(screenHeight / 2)) + 'px';
    }
}
return {
    Window: Window
};
});
这是另外一个 js 文件 main.js-- require.config({ paths:{ "jquery": "jquery.min" } })
require(['jquery','index'],function($,i) { var getHeight = new i.Window(); // getHeight.getHeight('header'); // getHeight.getHeight('main'); // getHeight.getHeight('bottom'); getHeight.getHeight('header'); getHeight.windowscreen('header'); })
第一次接触这种写法想学习学习...处处都是坑....- -。希望大牛能够指点下我这个小白....该怎么样修改才行啊...
     1 
                    
                    djkloop   OP 第一次刚加载的时候可以执行..但是只要改变窗口就会报错....这是什么原因呢?我传了 id 进去 margintop 应该有值啊.... 
                 | 
            
     2 
                    
                    djkloop   OP 好吧解决了...原因是 setIntreval 也是 window 的下的方法...粗心害死人... 
                setInterval(function () { that.getHeight(id); }, 这样就可以了  | 
            
     3 
                    
                    itkdqwzero      2016-11-09 07:42:44 +08:00 via Android 
                    
                    不懂 ,用什么框架吗? 
                nodejs ? 兼容性测试通过吗? 为什么不用 jQuery ?  | 
            
     4 
                    
                    yuuko      2016-11-09 08:49:11 +08:00 via Android 
                    
                    请看 js 事件,把 id 放第二个参数,第一个参数是事件对象 
                 | 
            
     5 
                    
                    djkloop   OP @itkdqwzero 就是新手想学习学习这种写法,前面没写过这种。😳 
                 |