Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   функция слиипа?) (https://javascript.ru/forum/dom-window/9668-funkciya-sliipa.html)

Slawaq 31.05.2010 10:32

функция слиипа?)
 
function crt_t(){
	var x = 100;
    var y = 50;
    var s = '<table width="'+x+'px" border="0" cellspacing="0" cellpadding="0" bgcolor="#3333FF" height="'+y+'px" id="main_tb">';
	s += '</table>';
	document.getElementById('dd').innerHTML = s;
	s = '';
   for (var j = 1; j <= y; j++) {
   document.getElementById('main_tb').innerHTML += '<tr id='+j+'></tr>';
   for (var i = 1; i <= x; i++) {
   setTimeout("document.getElementById('j').innerHTML += '<td id='+i+'></td>'", '5')
  }
}
}

Проблема не в том что оно работает, а в том что в цикле не работает сетТаймоут, я читал что это не слиип, но может мне скажите какую надо другую функцию для того чтобы код работал так как я хочу?))

Skipp 31.05.2010 11:49

Слипа в js нету. А сетТаймоут просто производит заданую операцию через указаное время.

А как вы хотите?

Slawaq 31.05.2010 12:05

проблема в том, что таблица будет создаваться долго если там более 200к ячеек, но проблема даже не во времени создания а в том что в этот момент браузер просто предложит сделать откладку приложение или же сильно залагает)) но я хотел сделать чтобы была небольшая задержка при создании таблицы, так будет создаваться без лагов, и постепенно, можно будет ещё линию загрузки вставить, и тогда будет как в играх, когда текстуры, объекты и музыка загружаться постепенно в игру с линией загрузки, так и я хотел создать, чтобы при создании не лагало, от я и решил сделать через задержку..) но как я вижу в ЯС её нету, а жалко..)

Kolyaj 31.05.2010 12:14

Если бы в JS была задержка, браузер бы точно также зависал при ней. Поэтому в JS есть отложенное выполнение.

Skipp 31.05.2010 12:16

Почему нету? Лаги возникают по большей части из-за долгих циклов. И кстати 5 миллисекунд бессмысленно:)
Посмотрите сколько мс выполняется ваша функция и ставьте чуть больше.

x-yuri 31.05.2010 12:20

Цитата:

Сообщение от Slawaq
проблема в том, что таблица будет создаваться долго если там более 200к ячеек, но проблема даже не во времени создания а в том что в этот момент браузер просто предложит сделать откладку приложение или же сильно залагает))

зачем такая большая таблица? Да и вообще, ты не проверил, а уже оптимизируешь? :stop:
а вот если бы ты воспользовался слипом, которого нету, браузер предложил бы завершить твой скрипт

Slawaq 31.05.2010 12:26

много вопросов))) приду отвечу)))

Slawaq 31.05.2010 14:56

Цитата:

Сообщение от Skipp (Сообщение 57182)
И кстати 5 миллисекунд бессмысленно:)
Посмотрите сколько мс выполняется ваша функция и ставьте чуть больше.

наоборот меньше надо)) 5к раз выполняется цикл а значит, 25к млс. или 25сек. При том что тут всего лишь 5к ячеек)))
Цитата:

Сообщение от x-yuri (Сообщение 57183)
зачем такая большая таблица?

ну это будет вообще долго рассказывать) но в крациях ячейка с размер пикселя будет, и тогда в этой таблице через ЯС можна будет рисовать)
Я проверял,я создавал в 144к говорю, ужас долго!!:)
дам если бы браузер захотел завершать было бы плохо..(
короче как вижу выхода нету, прийдёться что-то другое придумать как делать))
А ещё хотел спросить, какой метод для Math. чтобы отделять дробную часть, то есть всё что после точки?

Gvozd 31.05.2010 15:03

для рисования надо использовать специализированные средства, а не табицы с пиксельными ячейками

Kolyaj 31.05.2010 15:25

Slawaq,
да что ж вы заладили-то с рисованием в таблице? Вы бы сначала вёрстку поизучали, и поняли бы, что необязательно городить таблицу для таких вещей.

Вот здесь когда-то жила библиотека рисования на странице дивами. Можете поискать упоминания в интернетах.


Часовой пояс GMT +3, время: 01:55.