Показать сообщение отдельно
  #3 (permalink)  
Старый 06.11.2014, 08:21
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

решил проделать эксперимент, тестил в хроме:
<html>
	<head> 
	</head>

	<body>
		<input type="button" value="простое обновление" onclick="up1();">
		<input type="button" value="обновить спрятав таблицу" onclick="up2();">
		<div></div>
		<script>
var div = document.querySelector('div'), num = 1;

var trs = [];
for (var i = 0; i < 10000; ++i) {
	trs.push('<tr><td>value1</td><td>value1</td><td>value1</td><td>value1</td></tr>');
}
	
div.innerHTML = '<table>' + trs.join('') + '</table>';

function update () {
	var val = 'value' + (++num);
	console.time('time');
	var tds = div.querySelectorAll('td');
	
	for (var i = 0, ln = tds.length; i < ln; ++i) {
		tds[i].innerHTML = val;
	}
	console.timeEnd('time');
}

function up1 () {
	update();
}

function up2 () {
	div.style.display = 'none';
	update();
	div.style.display = 'block';
}
		</script>
	</body>

</html>


при 10000 данных отрабатывает на ура как при первом подходе так и при втором..

Последний раз редактировалось skrudjmakdak, 06.11.2014 в 08:23.
Ответить с цитированием