Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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/
Ответить с цитированием
  #2 (permalink)  
Старый 13.11.2012, 09:34
Интересующийся
Отправить личное сообщение для shoo Посмотреть профиль Найти все сообщения от shoo
 
Регистрация: 01.06.2012
Сообщений: 14

бамп
Ответить с цитированием
  #3 (permalink)  
Старый 13.11.2012, 10:04
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

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

Последний раз редактировалось dmitriymar, 13.11.2012 в 10:11.
Ответить с цитированием
  #4 (permalink)  
Старый 13.11.2012, 10:49
Интересующийся
Отправить личное сообщение для shoo Посмотреть профиль Найти все сообщения от shoo
 
Регистрация: 01.06.2012
Сообщений: 14

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

Последний раз редактировалось shoo, 13.11.2012 в 11:02.
Ответить с цитированием
  #5 (permalink)  
Старый 13.11.2012, 12:07
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

и что мешает их объявить внутри $(document).ready?
а если уж на то пошло -то всё нужно делать модулем -выносить в замыкание если уж
Сообщение от shoo
так что предоставьте мне оценивать результирующую говнокодность кода самостоятельно
переменные глобальные мешают а функции,объекты значит нет

Последний раз редактировалось dmitriymar, 13.11.2012 в 12:10.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Видимость php переменных при обращении к файлу через ajax romzes5000 AJAX и COMET 7 04.10.2011 23:10