0
因此,我正在从一本书中使用TaffyDB创建一个人的集合的项目。该项目是一个简单的聊天室,用户列表以窗口中的在线用户的html列表的形式生成。目前我正在使用假数据进行测试,并且每个循环(在jquery中)都有一个正常工作的循环,向屏幕上打印五个“头像”。然而,我的每个打印在线用户的循环运行两次:为什么是这样?这两个循环使用完全相同的设置,但第二个循环运行两次。每个循环的TaffyDB jquery运行两次
的每一个的作品:
people_db().each(function(person,idx){
var class_list;
if(person.get_is_anon()){ return true; }
class_list = ['spa-avtr-box'];
if(person.id === chatee.id){
class_list.push('spa-x-is-user');
}
$box = $('<div/>')
.addClass(class_list.join(' '))
.css(person.css_map)
.attr('data-id', String(person.id))
.prop('title', spa.util_b.encodeHtml(person.name))
.text(person.name)
.appendTo($nav);
});
运行两次循环:
people_db().each(function(person,idx){
var select_class = '';
console.log(person);
if(person.get_is_anon() || person.get_is_user()) {
return true;
}
if(chatee && chatee.id === person.id){
select_class = 'spa-x-select';
}
list_html
+= '<div class="spa-chat-list-name'
+ select_class + '" data-id="' + person.id + '">'
+ spa.util_b.encodeHtml(person.name) + '</div>';
});
if(!list_html){
list_html = String()
+ '<div class="spa-chat-list-note">'
+ 'To chat alone is the fate of all great souls...<br><br>'
+ 'No one is online'
+ '</div>';
clearChat();
}
jqueryMap.$list_box.html(list_html);
}
任何想法我做错了吗?我已经广泛地浏览了其余的代码,而且我没有两次调用它,我几乎可以确定必须是循环的东西。