【发布时间】:2012-01-15 10:53:17
【问题描述】:
我有以下功能:
var appendStructure = {
init : function(wrapper,structure,cls,callback) {
$(wrapper).appendTo(container).hide()
var object = $(container).find(cls);
$(structure.join('')).appendTo(object);
showObj(object,function() {
if(opts.centerObj == true) {
$(window).resize(function() {
var cssProps = getProps(object);
object.css(cssProps);
});
}
if(typeof callback == 'function') {
callback();
}
});
}
}
以及其中调用的其他函数:
var getProps = function(obj) {
return {
'position' :'absolute',
'top' : (($(window).height() - $(obj).outerHeight()) / 2)+'px',
'left' : (($(window).width() - $(obj).outerWidth()) / 2)+'px'
}
}
var showObj = function(obj,callback) {
return setTimeout(function () {
if(opts.centerObj == true) {
var cssProps = getProps(obj);
obj.css(cssProps).fadeIn('slow');
}
else {
obj.fadeIn('slow');
}
if(typeof callback == 'function') {
callback();
}
}, 1500);
}
我像这样运行函数:
if(appendStructure.init(wrapper.login,structure.login,'.content-login')){
console.log('Object Appended');
}
else {
console.log('Error');
}
我的问题是,为什么控制台会输出Error,因为该功能确实有效,并且假设发生的一切都发生了?
【问题讨论】:
-
我在想,如果函数正常工作并且其他一切都正确触发,那么问题一定出在 if 语句的某个地方。如果将该行更改为
console.log(appendStructure.init(wrapper.login, structure.login, '.content-login'));会得到什么?我很想知道 if 试图评估什么。 -
@Mark Tabler,如果我将
console.log('Error')更改为console.log(appendStructure.init(wrapper.login, structure.login, '.content-login'));,它将返回undefined。
标签: javascript jquery function console