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

Избавление от глобальных переменных при проходе алгоритма через несколько ивентов
Пытаюсь реализовать функцию изменения размера div, точнее уже реализовал. Проблема состоит в том, что в этой реализации всё работает при помощи глобальных переменных. Почему так? Дело в том, что изменение размера происходит по следующему алгоритму:
Объект, назовём его rdiv, отлавливает клик мышки. Как только клик совершился, запускается функция startSizing(element), которая отображает sensor(fixed div, закрывающий всё окно браузера), считывает координаты изменяемого объекта, поверх sensor рисует аналогичный изменяемому объекту, назовём его resizeBar, с которым и будут происходить основные манипуляции. Функция уходит в небытьё, дальше действует sensor.mousemove, где на основе условий resizeBar меняет свой размер соответственно положению мыши. Так происходит до момента sensor.onclick, который скрывает sensor и устанавливает rdiv'у координаты resizeBar'a.

Проблема в том, что координаты, нужные для:
> скрывает sensor и устанавливает rdiv'у координаты resizeBar'a.
, а так же, переменная, хранящая rdiv, обе эти вещи хранятся глобальными переменными, так как иначе я не знаю, как передавать их из функции в onclick и т.д. Вопрос в том, как избавиться от глобальных переменных в моём случае, я чувствую, что код из-за них становится более тяжёлым для доработки. Спасибо!

http://jsfiddle.net/shoo/Rw9tw/
Ответить с цитированием