further improve headline appending speed
This commit is contained in:
parent
16c937680f
commit
b926f38750
|
@ -116,7 +116,7 @@ function headlines_callback2(transport, offset, background, infscroll_req) {
|
||||||
|
|
||||||
var c = dijit.byId("headlines-frame");
|
var c = dijit.byId("headlines-frame");
|
||||||
var ids = getSelectedArticleIds2();
|
var ids = getSelectedArticleIds2();
|
||||||
var num_added = 0;
|
var new_elems = [];
|
||||||
|
|
||||||
$("headlines-tmp").innerHTML = reply['headlines']['content'];
|
$("headlines-tmp").innerHTML = reply['headlines']['content'];
|
||||||
|
|
||||||
|
@ -127,15 +127,13 @@ function headlines_callback2(transport, offset, background, infscroll_req) {
|
||||||
|
|
||||||
$$("#headlines-tmp > div").each(function(row) {
|
$$("#headlines-tmp > div").each(function(row) {
|
||||||
if (row.className == 'cdmFeedTitle') {
|
if (row.className == 'cdmFeedTitle') {
|
||||||
row.addClassName('new');
|
|
||||||
row.style.display = 'none';
|
row.style.display = 'none';
|
||||||
c.domNode.appendChild(row);
|
c.domNode.appendChild(row);
|
||||||
++num_added;
|
new_elems.push(row);
|
||||||
} else if (loaded_article_ids.indexOf(row.id) == -1) {
|
} else if (loaded_article_ids.indexOf(row.id) == -1) {
|
||||||
row.style.display = 'none';
|
row.style.display = 'none';
|
||||||
row.addClassName('new');
|
|
||||||
c.domNode.appendChild(row);
|
c.domNode.appendChild(row);
|
||||||
++num_added;
|
new_elems.push(row);
|
||||||
loaded_article_ids.push(row.id);
|
loaded_article_ids.push(row.id);
|
||||||
} else {
|
} else {
|
||||||
row.parentNode.removeChild(row);
|
row.parentNode.removeChild(row);
|
||||||
|
@ -150,9 +148,9 @@ function headlines_callback2(transport, offset, background, infscroll_req) {
|
||||||
c.domNode.appendChild(hsp);
|
c.domNode.appendChild(hsp);
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log("added " + num_added + " headlines");
|
console.log("added " + new_elems.size() + " headlines");
|
||||||
|
|
||||||
if (num_added == 0)
|
if (new_elems.size() == 0)
|
||||||
_infscroll_disable = true;
|
_infscroll_disable = true;
|
||||||
|
|
||||||
console.log("restore selected ids: " + ids);
|
console.log("restore selected ids: " + ids);
|
||||||
|
@ -163,9 +161,7 @@ function headlines_callback2(transport, offset, background, infscroll_req) {
|
||||||
|
|
||||||
initHeadlinesMenu();
|
initHeadlinesMenu();
|
||||||
|
|
||||||
$$("#headlines-frame > div[class*=new]").each(
|
new_elems.each(function(child) {
|
||||||
function(child) {
|
|
||||||
child.removeClassName('new');
|
|
||||||
if (!Element.visible(child))
|
if (!Element.visible(child))
|
||||||
new Effect.Appear(child, { duration : 0.5 });
|
new Effect.Appear(child, { duration : 0.5 });
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue