Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.05.2010, 10:32
Аватар для Slawaq
Профессор
Отправить личное сообщение для Slawaq Посмотреть профиль Найти все сообщения от Slawaq
 
Регистрация: 19.05.2010
Сообщений: 187

функция слиипа?)
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')
  }
}
}

Проблема не в том что оно работает, а в том что в цикле не работает сетТаймоут, я читал что это не слиип, но может мне скажите какую надо другую функцию для того чтобы код работал так как я хочу?))
Ответить с цитированием
  #2 (permalink)  
Старый 31.05.2010, 11:49
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

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

А как вы хотите?
__________________
.
Ответить с цитированием
  #3 (permalink)  
Старый 31.05.2010, 12:05
Аватар для Slawaq
Профессор
Отправить личное сообщение для Slawaq Посмотреть профиль Найти все сообщения от Slawaq
 
Регистрация: 19.05.2010
Сообщений: 187

проблема в том, что таблица будет создаваться долго если там более 200к ячеек, но проблема даже не во времени создания а в том что в этот момент браузер просто предложит сделать откладку приложение или же сильно залагает)) но я хотел сделать чтобы была небольшая задержка при создании таблицы, так будет создаваться без лагов, и постепенно, можно будет ещё линию загрузки вставить, и тогда будет как в играх, когда текстуры, объекты и музыка загружаться постепенно в игру с линией загрузки, так и я хотел создать, чтобы при создании не лагало, от я и решил сделать через задержку..) но как я вижу в ЯС её нету, а жалко..)
Ответить с цитированием
  #4 (permalink)  
Старый 31.05.2010, 12:14
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Если бы в JS была задержка, браузер бы точно также зависал при ней. Поэтому в JS есть отложенное выполнение.
Ответить с цитированием
  #5 (permalink)  
Старый 31.05.2010, 12:16
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

Почему нету? Лаги возникают по большей части из-за долгих циклов. И кстати 5 миллисекунд бессмысленно
Посмотрите сколько мс выполняется ваша функция и ставьте чуть больше.
__________________
.
Ответить с цитированием
  #6 (permalink)  
Старый 31.05.2010, 12:20
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от Slawaq
проблема в том, что таблица будет создаваться долго если там более 200к ячеек, но проблема даже не во времени создания а в том что в этот момент браузер просто предложит сделать откладку приложение или же сильно залагает))
зачем такая большая таблица? Да и вообще, ты не проверил, а уже оптимизируешь?
а вот если бы ты воспользовался слипом, которого нету, браузер предложил бы завершить твой скрипт
Ответить с цитированием
  #7 (permalink)  
Старый 31.05.2010, 12:26
Аватар для Slawaq
Профессор
Отправить личное сообщение для Slawaq Посмотреть профиль Найти все сообщения от Slawaq
 
Регистрация: 19.05.2010
Сообщений: 187

много вопросов))) приду отвечу)))
Ответить с цитированием
  #8 (permalink)  
Старый 31.05.2010, 14:56
Аватар для Slawaq
Профессор
Отправить личное сообщение для Slawaq Посмотреть профиль Найти все сообщения от Slawaq
 
Регистрация: 19.05.2010
Сообщений: 187

Сообщение от Skipp Посмотреть сообщение
И кстати 5 миллисекунд бессмысленно
Посмотрите сколько мс выполняется ваша функция и ставьте чуть больше.
наоборот меньше надо)) 5к раз выполняется цикл а значит, 25к млс. или 25сек. При том что тут всего лишь 5к ячеек)))
Сообщение от x-yuri Посмотреть сообщение
зачем такая большая таблица?
ну это будет вообще долго рассказывать) но в крациях ячейка с размер пикселя будет, и тогда в этой таблице через ЯС можна будет рисовать)
Я проверял,я создавал в 144к говорю, ужас долго!!
дам если бы браузер захотел завершать было бы плохо..(
короче как вижу выхода нету, прийдёться что-то другое придумать как делать))
А ещё хотел спросить, какой метод для Math. чтобы отделять дробную часть, то есть всё что после точки?
Ответить с цитированием
  #9 (permalink)  
Старый 31.05.2010, 15:03
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

для рисования надо использовать специализированные средства, а не табицы с пиксельными ячейками
Ответить с цитированием
  #10 (permalink)  
Старый 31.05.2010, 15:25
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

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

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



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция которая работает на OnLoad не хочет работать на OnClick libinstyle Элементы интерфейса 6 23.03.2010 01:42
Функция demo nemo Серверные языки и технологии 11 19.02.2010 15:11
Как вызывается функция? Мараторий Общие вопросы Javascript 3 22.01.2010 13:18
Рекурсивная функция HellBells Общие вопросы Javascript 3 23.11.2009 11:23
Функция меняющая значение input type text. Value не подходит( Sundog Общие вопросы Javascript 1 25.09.2009 15:06