Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.09.2012, 11:16
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

Моя первая попытка в ООП
И так, вот первый мой окошечный скрипт с использованием этих самых прототипов и претензией на подобие ООП. Как можно легко увидеть, может создавать группы попапов с дефолтными свойствами (картинка, класс, размер, положение) и при этом в каждом классе можно создавать уникальные окошки.

Критика, рассказы как делать нельзя, как делать нужно, что я сделал не так жутко приветствуются.
http://learn.javascript.ru/play/MEPC1b

забавную ссылку мне движок выдал
Ответить с цитированием
  #2 (permalink)  
Старый 29.09.2012, 15:52
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

PashPP,
по идее неплохо, (даже очень) но код трудно расширяем, примеры:
if (imgWid) im.style.width= imgWid +'px';

пиксели лучше не трогать, вдруг чувак захочет относительные еденицы измерения (приколисты и прочие мудрецы css не надо кричать что пиксели относительные - это так, но с разными компами фигня будет) em-ы к примеру или проценты
var closeButton = document.createElement('DIV');
    closeButton.className = 'closeButton';
    closeButton.style.width = 26 + 'px';
    closeButton.style.height = 15 + 'px';
    closeButton.style.cursor = 'pointer';
    closeButton.innerHTML = 'X';
    closeButton.style.textAlign = 'center';
    closeButton.style.lineHeight = '15px';
    popup.appendChild(closeButton);

собсно, тоже самое
можно ещё найти там, но мне сейчас лень копаться в коде

По-моему неплохо, тем более с ООП, но расширять код будет очень трудно
Ответить с цитированием
  #3 (permalink)  
Старый 29.09.2012, 16:15
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

Dim@,
Почему трудно будет расширять?

С пикселями привычка, мне так быстрее за них зацепиться и поменять.
Но таки да, лучше просто строками передавать, надо будет переучиться.
Ответить с цитированием
  #4 (permalink)  
Старый 29.09.2012, 16:57
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от PashPP Посмотреть сообщение
Dim@,
Почему трудно будет расширять?

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

например,
var closeButton = document.createElement('DIV');
    closeButton.className = 'closeButton';
    closeButton.style.width = 26 + 'px';
    closeButton.style.height = 15 + 'px';
    closeButton.style.cursor = 'pointer';
    closeButton.innerHTML = 'X';
    closeButton.style.textAlign = 'center';
    closeButton.style.lineHeight = '15px';
    popup.appendChild(closeButton);

легко переходит в insertAdjacentHTML


остальное смотреть не стал - дохрена кода и лень. он какой-то кусачий, неприятно его читать.

один супер метод с повторяющимися операциями - код должен выглядеть, как текст, написанный на английском.

Последний раз редактировалось melky, 29.09.2012 в 16:59.
Ответить с цитированием
  #5 (permalink)  
Старый 29.09.2012, 17:08
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

PashPP,
Сообщение от PashPP
Почему трудно будет расширять?
Потому что если его увеличивать, то надо дать абсолютное владение надо этим окошком, то есть нужно что бы было менять его дизайн (если у сайта темный дизайн, эти окна будут мягко говоря "не к месту"), его кнопки, drag & drop и прочее, но для этого нужен нормальный API который трудно получить перерабатывая то что ты написал, легче переписать это
Ответить с цитированием
  #6 (permalink)  
Старый 29.09.2012, 17:09
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

Сообщение от melky
insertAdjacentHTML
Хм, когда листал учебник эту фигню был как-то пропустил. Надо будет запомнить, спасибо.

Сообщение от melky
он какой-то кусачий, неприятно его читать.
Пичаль же.
Ответить с цитированием
  #7 (permalink)  
Старый 29.09.2012, 17:12
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

Dim@,
Эм. Но ведь там все берется с цсс, если не указанно явно а дж.
Кнопочка одна только полностью в скрипте дизайнится.

На счет остального - наверно, не знаю еще. Енивей, я и не планировал его особо расширять, если будет желание - добавить плавное скрытие/автоскрытие да и все.
Ответить с цитированием
  #8 (permalink)  
Старый 29.09.2012, 17:17
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

Сообщение от PashPP
я и не планировал его особо расширять, если будет желание - добавить плавное скрытие/автоскрытие да и все.
маловато, но надо (впрочем и мне) писать код легко расширяемый, ну или нормально расширяемый
Сообщение от PashPP
Эм. Но ведь там все берется с цсс, если не указанно явно а дж.
тоже не то, есть разные виды окошек, а у тебя один единственный класс вставлен
Ответить с цитированием
  #9 (permalink)  
Старый 29.09.2012, 17:42
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

Сообщение от Dim@
маловато, но надо (впрочем и мне) писать код легко расширяемый, ну или нормально расширяемый
Согласен. Но хрен его знает, что это значит.
Вот пример бы, что ли.

Сообщение от Dim@
тоже не то, есть разные виды окошек, а у тебя один единственный класс вставлен
Разве этого мало? Один класс - один стиль оформления. Разве не логично?
Ответить с цитированием
  #10 (permalink)  
Старый 29.09.2012, 20:09
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

PashPP,
Сообщение от PashPP
Разве этого мало?
мало, есть разница между окном предупреждения и заполнением номера?
Сообщение от PashPP
Но хрен его знает, что это значит.
это значит код, который легче дописывать, нежели переписывать, пример с которым я столкнулся когда писал "Перехватчик на JavaScript":
я при движении цели писал абсолютное значение, а мест куда можно двигаться 9 значений, то есть постоянно на развилках if else писал абсолютное значение 1, когда пришлось сделать движение на две и болеее клетки я понял что нужно было писать на развилках не 1, а переменную которая содержало в себе 1 или 2 или 3 и т.д. так это облегчило бы мне задание - это пример мягко говоря плохой, но тем не менее пример
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ООП в javascript iostream21 Общие вопросы Javascript 11 12.07.2012 00:16
Есть ли смысл использовать ООП. Duda.Ml1986@gmail.com Оффтопик 18 18.02.2012 21:47
Мой первый сайт, моя первая программа Mangoz Ваши сайты и скрипты 6 19.12.2011 23:55
ООП PHP вопрос mycoding Серверные языки и технологии 9 03.06.2010 02:57