Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.07.2008, 11:52
Интересующийся
Отправить личное сообщение для object Посмотреть профиль Найти все сообщения от object
 
Регистрация: 01.04.2008
Сообщений: 13

Оптимизация скриптов
делаю свой сайт www.antiflash.ru в основном скрипте более 800 строчек кода, чувствую что все можно намного проще сделать и оптимизировать, может кто чего подскажет, буду благодарен.
Собираю сообщения о глюках.
Ответить с цитированием
  #2 (permalink)  
Старый 17.07.2008, 12:00
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Симпатично, но двигается резковато.

А оптимизировать можно всегда, ну или почти всегда
Ответить с цитированием
  #3 (permalink)  
Старый 17.07.2008, 12:37
Интересующийся
Отправить личное сообщение для object Посмотреть профиль Найти все сообщения от object
 
Регистрация: 01.04.2008
Сообщений: 13

Скролл двигается резко или что?
вот про оптимизацию поподробнее если можно
Ответить с цитированием
  #4 (permalink)  
Старый 17.07.2008, 13:28
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от object
Скролл двигается резко или что?
Угу, скролл.

Сообщение от object
вот про оптимизацию поподробнее если можно
Это в коде надо копаться, а это лень. Вот если представите какой-нибудь участок конкретный, тогда можно будет посмотреть.
Ответить с цитированием
  #5 (permalink)  
Старый 17.07.2008, 23:54
Интересующийся
Отправить личное сообщение для object Посмотреть профиль Найти все сообщения от object
 
Регистрация: 01.04.2008
Сообщений: 13

у меня в коде плишком много переменных, слишком много ифов и функций, всякие крутые модули типа лайтбокса написаны гараздо красивее, вот кусок моего:
function work_scroll(next_pre){
	if(op_stop==1){
	for(q=0; q<work_big_total; ++q){
		loading_work="img/works/work_"+work_big[q]+"_big.jpg";
		if(this_work==loading_work){
			if(next_pre==1){
				loading_work="img/works/work_"+work_big[q-1]+"_big.jpg";
				loading_width=work_width[q-1];
				loading_height=work_height[q-1];
			}
			if(next_pre==0){
				loading_work="img/works/work_"+work_big[q+1]+"_big.jpg";
				loading_width=work_width[q+1];
				loading_height=work_height[q+1];
			}
			if(loading_work != "img/works/work_undefined_big.jpg"){
				hide_work();
				break;
			}
		}
	}
	}
}


еще из-за анимации я постоянно пользую setTimeout, который потом приходится удолять в отдельной функции, ктоме того он сильно серит проц, так что когда общитываются несколько фукций с использованием сетТаймаут, то начинаются дикие тупняки, если ли другое решение?
Ответить с цитированием
  #6 (permalink)  
Старый 18.07.2008, 01:01
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Ну как минимум код
if(next_pre==1){
  loading_work="img/works/work_"+work_big[q-1]+"_big.jpg";
  loading_width=work_width[q-1];
  loading_height=work_height[q-1];
} if(next_pre==0){
  loading_work="img/works/work_"+work_big[q+1]+"_big.jpg";
  loading_width=work_width[q+1];
  loading_height=work_height[q+1];
}
можно заменить на что-то вроде
var index = next_pre == 1 ? q - 1 : q + 1;
loading_work="img/works/work_"+work_big[index]+"_big.jpg";
loading_width=work_width[index];
loading_height=work_height[index];
Ответить с цитированием
  #7 (permalink)  
Старый 20.07.2008, 23:15
Интересующийся
Отправить личное сообщение для object Посмотреть профиль Найти все сообщения от object
 
Регистрация: 01.04.2008
Сообщений: 13

спасибо большое, то что нужно, можно еще объяснить в чем разница между структурами:
fun = {
fun.1={...}
fun.2={...}
}
и
function fun_1{...}
function fun_2{...}
?
Ответить с цитированием
  #8 (permalink)  
Старый 21.07.2008, 00:40
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Хеши это одна из форм записи объектов. Но правильно записывать вот так:
fun = {
    some: function() {...},
    thing: function() {...}
}

Тогда вы сможете вызывать эти методы таким способом: fun.some() и fun.thing(). Отличие от функций очевидное. Подробнее можете почитать в этой статье.
Ответить с цитированием
  #9 (permalink)  
Старый 21.07.2008, 09:32
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от object
в чем разница между структурами:
fun = {
fun.1={...}
fun.2={...}
}
и
function fun_1{...}
function fun_2{...}
?
Первая вызывает parse error, вторая -- нет
Ответить с цитированием
  #10 (permalink)  
Старый 21.07.2008, 13:58
Интересующийся
Отправить личное сообщение для object Посмотреть профиль Найти все сообщения от object
 
Регистрация: 01.04.2008
Сообщений: 13

спасибо, то что нужно
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оптимизация и разбор javascript! o55rus Общие вопросы Javascript 2 23.09.2008 20:33
Отладка скриптов в IE Snipe Internet Explorer 6 18.09.2008 17:01
Оптимизация и Быстрый код Виталий Общие вопросы Javascript 18 24.07.2008 00:21
Паралельная загрузка чужих скриптов? GOll Общие вопросы Javascript 2 10.07.2008 22:39
Совершествуем стиль написания скриптов Mitrandir Events/DOM/Window 6 16.06.2008 09:02