Javascript.RU

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

п.с. я не прошу делать что-то. просто подскажите какой именно фрагмент можно сократить, какие параметры лишние..
Ответить с цитированием
  #12 (permalink)  
Старый 17.06.2009, 18:31
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

а вы-то сами как думаете какие параметры лишние?
какие не используются, те и лишние

вы его сами писали?
если да, то вам виднее что в нем можно оптимизирвоать
если нет, то вам в раздел работа

и повторю вопрос:зачем его оптимизирвоать?
тормозит? долго грузится?
-------------------
бля, что за идиотская привычка писать по два поста подряд?
я чуть было не пропустил твой первый пост, из-за того, что он был на предудущей странице
задание говориш?
и ты решил скинуть это задание на других людей?
похвально. тебе в раздел работа

да, его можно оптимизировать
потому что он писался несколько лет назад судя по всему
что в функции getObj делает вторая и третья строки?

Последний раз редактировалось Gvozd, 17.06.2009 в 18:38.
Ответить с цитированием
  #13 (permalink)  
Старый 17.06.2009, 20:01
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от touch_the_sky
лишние они оказались..
ты уверен?
может они все-таки нужны, просто используются для того случая, о котором ты не знаеш?
Сообщение от touch_the_sky
а чем несколько лет назад ява отличался?
в первую очередь отличаются браузеры
браузеры постоянно развиваются, и те браузеры, которые использовались пару лет назад нигде сейчас не стоят как правило
этот код написан в соответсвии с правилами кросбраузерности давно минувших лет
Ответить с цитированием
  #14 (permalink)  
Старый 18.06.2009, 06:21
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Gvozd,
Вероятно, имеется ввиду не оптимизация кода под современные браузеры, а просто показать на примере способы его сокращения.


Не обязательно писать несколько var, можно так:
var text = '',
	pass='ACB',
	coordX=0,
	coordY=0,
	Width=64,
	Height=64;

Ниже еще такие ситуации есть.

Здесь:
imageMap.onmousemove = moveDot;
imageMap.onmouseover = moveDot;

присваивается одно и тоже, лучше так:
imageMap.onmousemove = imageMap.onmouseover = moveDot;

Ниже еще такое есть.
При этом частая ошибка:
var x = y = 0;

Здесь "y" попадет в глобальную область видимости. Нужно так:
var x = 0,
	y = 0;


Кусок:
x -= imageMapX;
y -= imageMapY;
x -= dX;
y -= dY;

Можно записать в две строки. Если ты закончил в школе хотя бы 3 класса, то сделаешь это без проблем.

Здесь:
(x < 0) ? coordX = 0 : coordX = x;

В обоих случаях присваивается к одному и тому же, лучше так:
coordX = x < 0 ? 0 : x;


Здесь:
if(coordY<Height/2)
text = text+'A';
else
text = text+'C';
}

так же можно применить тернарный оператор и оператор "+=".

Здесь:
if(text==pass)
{
var picture = document.getElementById('lock');
picture.src = 'port/lock2.png?' + Math.random();
}
else
{
var picture = document.getElementById('lock');
picture.src = 'port/lock.png?' + Math.random();
}

в обоих случаях происходят схожие действия. Их нужно вынести из if-else.

Зачем здесь "try" ?
try {
window.addEventListener('load', init, false);
} catch(e) {
window.onload = init;
}

Читаем про события: http://javascript.ru/tutorial/events

Здесь:
if(text==pass) alert('Пароль верный,поздравляю!');
else alert('Не угадал пароль,тыкай еще!');

С тернарным оператором хочется сделать так:
text==pass
	? alert('Пароль верный,поздравляю!')
	: alert('Не угадал пароль,тыкай еще!');

Еще проще будет так:
alert(text==pass ? 'Пароль верный,поздравляю!' : 'Не угадал пароль,тыкай еще!');


Зачем здесь:
var picture = document.getElementById('lock');
picture.src = 'port/lock.png?' + Math.random();

создается переменная, если она используется только один раз.


Для начала хватит.

Последний раз редактировалось Riim, 18.06.2009 в 06:49.
Ответить с цитированием
  #15 (permalink)  
Старый 18.06.2009, 10:51
Интересующийся
Отправить личное сообщение для touch_the_sky Посмотреть профиль Найти все сообщения от touch_the_sky
 
Регистрация: 17.06.2009
Сообщений: 13

спасибо большое за столь развернутый ответ, однако я уже начал сокращать, убрав div.


<img id='lock' src="port/lock.png" width="200" height="200" onclick="doIt();">

function doIt() {
y0=document.getElementById("lock").offsetTop+1;
x0=document.getElementById("lock").offsetLeft+1;
document.all("x").value=x-x0;
document.all("y").value=y-y0;


теперь только не могу найти каким образом получать координаты мыши при клике самым простым способом.
Ответить с цитированием
  #16 (permalink)  
Старый 18.06.2009, 10:53
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от touch_the_sky
однако я уже начал сокращать, убрав div
Так что мы сокращаем, html или javascript ?
Ответить с цитированием
  #17 (permalink)  
Старый 18.06.2009, 11:40
Интересующийся
Отправить личное сообщение для touch_the_sky Посмотреть профиль Найти все сообщения от touch_the_sky
 
Регистрация: 17.06.2009
Сообщений: 13

ну обе программы написаны на яваскрипте.
во второй я избавился от кучи ненужных функций. мне всего лишь надо нарисовать картинку (200,200), отследить координаты клика, присвоить переменной символ, соотв. координатам и сравнить ее с переменной "pass". в случае совпадения - нарисовать на месте одной картинки другую. вот у меня возникли проблемы с отслеживанием клика и с перерисовкой картинки.


<script language="JavaScript" type="text/javascript">
var text = '';
var pass='A';
function doIt()  
{

=>ЗДЕСЬ ДОЛЖНЫ ОТСЛЕЖИВАТЬСЯ КООРДИНАТЫ И ОНИ ДОЛЖНЫ ПРИСВАИВАТЬСЯ ПЕРЕМЕННЫМ X И У.<=
 
 
 if (xcoord<100)
    {
          if(ycoord<100)
                    text = text+'A';
          else
                    text = text+'C';
    }  
    else
    {
           if(ycoord<100)
                    text = text+'B';
           else
                    text = text+'D';
     }}
  }
  if(text==pass) alert('Пароль верный,поздравляю!');

=> ЗДЕСЬ ДОЛЖНА ПЕРЕРИСОВЫВАТЬСЯ КАРТИНКА<=
  else alert('Не угадал пароль,тыкай еще!');
  text='';
}  
</script>
 <img id='lock' src="port/lock.png" width="200" height="200" onclick='doIt()'/>

Последний раз редактировалось touch_the_sky, 18.06.2009 в 11:44.
Ответить с цитированием
  #18 (permalink)  
Старый 18.06.2009, 11:44
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Я совсем запутался. Мы уже значит, вовсе ничего не оптимизируем, а решаем какую-то проблему?
Ответить с цитированием
  #19 (permalink)  
Старый 18.06.2009, 11:53
Интересующийся
Отправить личное сообщение для touch_the_sky Посмотреть профиль Найти все сообщения от touch_the_sky
 
Регистрация: 17.06.2009
Сообщений: 13

ну почему.. вторая программа результат сокращения первой. правда переделанная немного.

я вот что не пойму..каким образом определяются коориднаты клика? относительно картинки или относительно документа не важно.
Ответить с цитированием
  #20 (permalink)  
Старый 18.06.2009, 11:58
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от touch_the_sky
каким образом определяются коориднаты клика?
Координаты берутся из события: http://javascript.ru/tutorial/events
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста. Оптимизация кода. touch_the_sky Events/DOM/Window 0 17.06.2009 14:52
Пожалуйста, помогите создать Web-страницу, содержащую заданную форму Mikhail Элементы интерфейса 2 13.05.2009 22:57
Помогите пожалуйста!!! Рудольф Еремян Общие вопросы Javascript 2 11.01.2009 13:41
Помогите, пожалуйста zashibis Общие вопросы Javascript 1 02.12.2008 14:07
Помогите пожалуйста Гость Общие вопросы Javascript 1 23.02.2008 09:17