Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Избавление от глобальных переменных при проходе алгоритма через несколько ивентов (https://javascript.ru/forum/misc/33157-izbavlenie-ot-globalnykh-peremennykh-pri-prokhode-algoritma-cherez-neskolko-iventov.html)

shoo 12.11.2012 13:15

Избавление от глобальных переменных при проходе алгоритма через несколько ивентов
 
Пытаюсь реализовать функцию изменения размера 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/

shoo 13.11.2012 09:34

бамп

dmitriymar 13.11.2012 10:04

Расмешил . В коде в каком от силы 50 строк ,2 переменные ему мешают . Преднамеренное усложнение кода для чтения, чтоб выпендрится , говнокодерство

shoo 13.11.2012 10:49

Цитата:

Сообщение от dmitriymar (Сообщение 215728)
Расмешил . В коде в каком от силы 50 строк ,2 переменные ему мешают . Преднамеренное усложнение кода для чтения, чтоб выпендрится , говнокодерство

Не вижу здесь решения моей задачи. Я к тому, что в итоге строк и переменных может быть больше, так что предоставьте мне оценивать результирующую говнокодность кода самостоятельно. Если не можете помочь решить проблему, то просто проходите мимо. Ещё вам не мешало бы научиться относиться к собеседнику вежливо.

dmitriymar 13.11.2012 12:07

и что мешает их объявить внутри $(document).ready?
а если уж на то пошло -то всё нужно делать модулем -выносить в замыкание если уж
Цитата:

Сообщение от shoo
так что предоставьте мне оценивать результирующую говнокодность кода самостоятельно

переменные глобальные мешают а функции,объекты значит нет


Часовой пояс GMT +3, время: 10:13.