【发布时间】:2013-07-30 21:53:41
【问题描述】:
我一直在尝试利用显示模块模式,并认为我会为非 css3 自定义滚动条创建一个函数。
var sb=(function($){
//Private
var settings=function(props){
return{
wrapper: props.wrapper ? document.getElementById(props.wrapper):null,
thumb: props.thumb ? document.getElementById(props.thumb):null,
track: props.track ? document.getElementById(props.track):null,
left: props.left ? props.left:null,
right: props.right ? props.right:null,
contentWidth: props.contentWidth? props.contentWidth:null
};
};
var LOG=function(input){
console.log(input)
};
//Object Literal
return{
Log:LOG,
settings:settings
};
})(jQuery);
以上是模块。我正在设置这样的值:
window.onload=function(){
sb.settings({wrapper:'bodyWrapper',thumb:'thumb',track:'track'});
}
但是,当我尝试对其进行测试时,我不断收到“未定义”和其他错误。在模块内运行console.log(settings.wrapper)会返回undefined。我真的不知道我要去哪里错了,所以任何帮助将不胜感激。提前致谢
【问题讨论】:
-
您的函数实际上并没有做任何事情(也没有创建
settings变量!),但它只是在调用时返回一个对象。请告诉我们你是如何测试它的。 -
@Bergi 感谢您的快速回复。那么我将如何创建一个设置变量。在模块中,我尝试检索解析为设置的值,但未定义。但是,如果我在设置中运行
console.log(props.thumb),例如,我会得到一个返回值。
标签: javascript design-patterns module revealing-module-pattern