CSS技巧'Javascript模块模式
Understanding 'CSS Tricks' Javascript Module Pattern
我正在努力提高我的Javascript和理解模块张贴在这里- http://css-tricks.com/how-do-you-structure-javascript-the-module-pattern-edition/
我的代码是这样的:
var
s,
ResizeContainer = {
settings : {
winWidth : $(window).width(),
winHeight : $(window).height()
},
init : function() {
s = this.settings
this.bindUIActions();
},
bindUIActions: function() {
console.log(s.winWidth);
}
}
$(document).ready(function()
{
(function()
{
ResizeContainer.init();
})();
});
$(window).on('resize', function()
{
ResizeContainer.init();
});
我想用这个模块实现的是当文档准备好时简单地提醒窗口宽度,它是这样做的,当窗口被调整大小时,它没有。
谁能帮助我理解为什么窗口宽度不更新调整大小?
试试这个http://jsfiddle.net/K2Mfd/5/,你需要在控制台选项卡中打开web检查器来查看结果,基本上你需要每次计算宽度和高度:
settings : function(){
return {
winWidth : $(window).width(),
winHeight : $(window).height()
}
},
不要忘记用settings()
代替settings
。
s = this.settings();
顺便说一下,我认为你不需要:
(function(){})();
这是我在决定什么模块模式适合我正在研究的应用程序时通常参考的帖子:http://www.adequatelygood.com/JavaScript-Module-Pattern-In-Depth.html
这不仅帮助我构建我的代码,而且还减少/删除全局变量。
相关文章:
- Javascript模块系统I'I’我正在努力,但搞不明白
- 如何使用Node.js在JavaScript模块文件之间使用事件处理程序
- 记录javascript模块名称
- JavaScript模块模式-如何在使用对象/函数之前激发构造函数/init函数
- 在我的JavaScript模块中绑定一个点击事件
- JavaScript:模块模式差异
- 如何扩展使用原型的javascript模块
- 将变量传递给 Javascript 模块化模式方法
- JavaScript 模块模式给出了意想不到的结果
- JavaScript模块化和依赖注入之间的区别
- Firebug没有列出所有javascript模块
- 创建javascript模块
- Javascript模块用法
- 根据当前页面加载和运行Javascript模块
- 如何在javascript模块中包含jquery而不与全局名称空间冲突
- 在节点和浏览器中加载单个javascript模块
- 如何将JavaScript模块添加到生成器meanjs应用程序中
- Javascript 模块模式问题
- 如果一个javascript模块为null,那么它的侦听器将被清除
- 我应该如何使用'这'(self)在javascript模块中