Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #51 (permalink)  
Старый 16.02.2013, 17:03
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Кстати, по теме: http://jsperf.com/table-creation/2
Ответить с цитированием
  #52 (permalink)  
Старый 16.02.2013, 17:04
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от danik.js
Deff, в ИЕ8 не работает вариант с innerHTML. В нем же вроде какие-то траблы с innerHTML у таблиц?
в ИЕ8 не работает вариант с innerHTML. Там да , там и таблы для ускорения нун делать по другому Вот забавная задачка => Ох эти таблицы
Ответить с цитированием
  #53 (permalink)  
Старый 16.02.2013, 17:14
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Поправил тест, чтоб в лисе работал: http://jsperf.com/table-creation/3

рони, твой вариант медленней, как ни странно. Хотя в ие он работает быстрее. Кстати вариант с innerHTML не работает даже в IE9, так что он вообще не приемлем.
Ответить с цитированием
  #54 (permalink)  
Старый 16.02.2013, 17:21
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от danik.js
Хотя в ие он работает быстрее. Кстати вариант с innerHTML не работает
Просто он не правильный , ща поправлю
Ответить с цитированием
  #55 (permalink)  
Старый 16.02.2013, 17:38
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<!DOCTYPE html>
<body>
<script>

var strTabl;
var div=document.createElement('div');
function createTable() {
    strTabl +="<table border=1><tbody>\n";
    for (var k = 0; k < 4; k++) {
        strTabl+= "\n<tr>\n";
        for (var m = 0; m < 5; m++) {
         strTabl+= "<td" + (k == m ? " style=color:red" : "") + ">"+"строка " +k+"; яч "+m+"</td>";
        }  strTabl+=  "\n</tr>\n";
    }
    strTabl+= "\n</tbody></table>";
}

function run() {
    var tstart = new Date();
    strTabl = '';
    for (var i = 0; i < 1000; i++) {
        createTable();
    } //alert(strTabl)
    div.innerHTML = strTabl;
    document.body.appendChild(div);
    alert(new Date() - tstart);
}
</script>
<button onclick="run()">Запуск</button>
</body>

Покороче (Ибо долго в ИЕ)
<!DOCTYPE html>
<body>
<script>

var strTabl;
var div=document.createElement('div');
function createTable() {
    strTabl +="<table border=1><tbody>\n";
    for (var k = 0; k < 4; k++) {
        strTabl+= "\n<tr>\n";
        for (var m = 0; m < 5; m++) {
         strTabl+= "<td" + (k == m ? " style=color:red" : "") + ">"+"строка " +k+"; яч "+m+"</td>";
        }  strTabl+=  "\n</tr>\n";
    }
    strTabl+= "\n</tbody></table>";
}

function run() {
    var tstart = new Date();
    strTabl = '';
    for (var i = 0; i < 100; i++) {
        createTable();
    } //alert(strTabl)
    div.innerHTML = strTabl;
    document.body.appendChild(div);
    alert(new Date() - tstart);
}
</script>
<button onclick="run()">Запуск</button>
</body>

Последний раз редактировалось Deff, 16.02.2013 в 17:42.
Ответить с цитированием
  #56 (permalink)  
Старый 17.02.2013, 11:26
Профессор
Отправить личное сообщение для dima*** Посмотреть профиль Найти все сообщения от dima***
 
Регистрация: 13.12.2012
Сообщений: 283

Почему-то так не работает?
strTabl+= "<td" + (k == m ? " style=color:red" : "") + ">"+rew(k,m)+"</td>";

var strTabl="<table border=1><tbody>\n";
	    for (k = 0; k < u.length; k++) {
	        strTabl+= "\n<tr>\n";
	        for (m = 0; m < u.length; m++) {
				//strTabl+= "<td>"+rew(k,m)+"</td>";
	      strTabl+= "<td" + (k == m ? " style=color:red" : "") + ">"+rew(k,m)+"</td>";
		   }  
			strTabl+=  "\n</tr>\n";
	    }
	        strTabl+= "\n</tbody></table>";
document.write	(strTabl);
Ответить с цитированием
  #57 (permalink)  
Старый 17.02.2013, 11:30
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

strTabl+= "<td" + (k == m ? " bgcolor=red" : "") + ">"+rew(k,m)+"</td>";
Ответить с цитированием
  #58 (permalink)  
Старый 17.02.2013, 11:48
Профессор
Отправить личное сообщение для dima*** Посмотреть профиль Найти все сообщения от dima***
 
Регистрация: 13.12.2012
Сообщений: 283

Deff-спасибо!Заработало!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать как в JQ? faforty Общие вопросы Javascript 8 14.11.2011 01:35
Как сделать таблицу ? denis_h2 Общие вопросы Javascript 3 16.02.2011 09:12
Сделать видимым select... Anneta Элементы интерфейса 7 12.01.2011 21:21
30(1|2) редирект от сервера. Или как лучше сделать редирект при верной отсылке форма. pizzZ AJAX и COMET 2 18.02.2010 09:06
Помогите сделать такое меню(( Lilith Я не знаю javascript 2 02.06.2009 02:31