Оптимизация скриптов
делаю свой сайт www.antiflash.ru в основном скрипте более 800 строчек кода, чувствую что все можно намного проще сделать и оптимизировать, может кто чего подскажет, буду благодарен.
Собираю сообщения о глюках. |
Симпатично, но двигается резковато.
А оптимизировать можно всегда, ну или почти всегда :) |
Скролл двигается резко или что?
вот про оптимизацию поподробнее если можно |
Цитата:
Цитата:
|
у меня в коде плишком много переменных, слишком много ифов и функций, всякие крутые модули типа лайтбокса написаны гараздо красивее, вот кусок моего:
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, который потом приходится удолять в отдельной функции, ктоме того он сильно серит проц, так что когда общитываются несколько фукций с использованием сетТаймаут, то начинаются дикие тупняки, если ли другое решение? |
Ну как минимум код
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]; |
спасибо большое, то что нужно, можно еще объяснить в чем разница между структурами:
fun = { fun.1={...} fun.2={...} } и function fun_1{...} function fun_2{...} ? |
Хеши это одна из форм записи объектов. Но правильно записывать вот так:
fun = { some: function() {...}, thing: function() {...} } Тогда вы сможете вызывать эти методы таким способом: fun.some() и fun.thing(). Отличие от функций очевидное. Подробнее можете почитать в этой статье. |
Цитата:
|
спасибо, то что нужно
|
Часовой пояс GMT +3, время: 21:57. |