комбинирование documentfragment и replacechild для минимизации перекомпоновки - PullRequest
0 голосов
/ 13 декабря 2011

Я делаю javascript-игру без использования canvas, и я хочу, чтобы экран обновлялся только один раз за цикл для скорости.Есть ли способ для documentFragment заменить именованные элементы?

EDIT: Руководство по javascript предполагает, что replaceChild () может использоваться с documentFragment, но пример, по-видимому, подразумевает многократные ссылки:

function reverse(n) {  // Reverses the order of the children of Node n
    var f = document.createDocumentFragment(  ); 
    while(n.lastChild)                 
          f.appendChild(n.lastChild);  
    n.appendChild(f);                  // surely this causes a reflow each time?
}

1 Ответ

1 голос
/ 13 декабря 2011

Если вы положите все в упаковку div, то все должно получиться нормально.

В function reverse... последняя строка выполняется только один раз. Но строка перед (внутри цикла while) будет удалять элементы один за другим и каждый раз вызывать перекомпоновку.

...