| 
	| 
	
	| 
		
	| 
			
			 
			
				29.09.2012, 11:16
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 26.07.2012 
						Сообщений: 281
					 
		
 |  |  
	| 
				Моя первая попытка в ООП
			 И так, вот первый мой окошечный скрипт с использованием этих самых прототипов и претензией на подобие ООП. Как можно легко увидеть, может создавать группы попапов с дефолтными свойствами (картинка, класс, размер, положение) и при этом в каждом классе можно создавать уникальные окошки.  
Критика, рассказы как делать нельзя, как делать нужно, что я сделал не так жутко приветствуются. 
http://learn.javascript.ru/play/MEPC1b
забавную ссылку мне движок выдал |  |  
	| 
		
	| 
			
			 
			
				29.09.2012, 15:52
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 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);
собсно, тоже самое 
можно ещё найти там, но мне сейчас лень копаться в коде
 
По-моему неплохо, тем более с ООП, но расширять код будет очень трудно   |  |  
	| 
		
	| 
			
			 
			
				29.09.2012, 16:15
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 26.07.2012 
						Сообщений: 281
					 
		
 |  |  
	| Dim@,Почему трудно будет расширять?
 
 С пикселями привычка, мне так быстрее за них зацепиться и поменять.
 Но таки да, лучше просто строками передавать, надо будет переучиться.
 |  |  
	| 
		
	| 
			
			 
			
				29.09.2012, 16:57
			
			
			
		 |  
	| 
		
			
			| sinistral     |  | 
					Регистрация: 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.
 |  |  
	| 
		
	| 
			
			 
			
				29.09.2012, 17:08
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 21.04.2012 
						Сообщений: 951
					 
		
 |  |  
	| PashPP,
  
	
 
	| Сообщение от PashPP |  
	| Почему трудно будет расширять? |  
	
 Потому что если его увеличивать, то надо дать абсолютное владение надо этим окошком, то есть нужно что бы было менять его дизайн (если у сайта темный дизайн, эти окна будут мягко говоря "не к месту"), его кнопки, drag & drop и прочее, но для этого нужен нормальный API который трудно получить перерабатывая то что ты написал, легче переписать это   |  |  
	| 
		
	| 
			
			 
			
				29.09.2012, 17:09
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 26.07.2012 
						Сообщений: 281
					 
		
 |  |  
	| 
	
 
	| Сообщение от melky |  
	| insertAdjacentHTML |  
	
 Хм, когда листал учебник эту фигню был как-то пропустил. Надо будет запомнить, спасибо.
 
	
 
	| Сообщение от melky |  
	| он какой-то кусачий, неприятно его читать. |  
	
 Пичаль же. |  |  
	| 
		
	| 
			
			 
			
				29.09.2012, 17:12
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 26.07.2012 
						Сообщений: 281
					 
		
 |  |  
	| Dim@,Эм. Но ведь там все берется с цсс, если не указанно явно а дж.
 Кнопочка одна только полностью в скрипте дизайнится.
 
 На счет остального - наверно, не знаю еще. Енивей, я и не планировал его особо расширять, если будет желание - добавить плавное скрытие/автоскрытие да и все.
 |  |  
	| 
		
	| 
			
			 
			
				29.09.2012, 17:17
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 21.04.2012 
						Сообщений: 951
					 
		
 |  |  
	| 
	
 
	| Сообщение от PashPP |  
	| я и не планировал его особо расширять, если будет желание - добавить плавное скрытие/автоскрытие да и все. |  
	
 маловато, но надо (впрочем и мне) писать код легко расширяемый, ну или нормально расширяемый
 
	
 
	| Сообщение от PashPP |  
	| Эм. Но ведь там все берется с цсс, если не указанно явно а дж. |  
	
 тоже не то, есть разные виды окошек, а у тебя один единственный класс вставлен
  |  |  
	| 
		
	| 
			
			 
			
				29.09.2012, 17:42
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 26.07.2012 
						Сообщений: 281
					 
		
 |  |  
	| 
	
 
	| Сообщение от Dim@ |  
	| маловато, но надо (впрочем и мне) писать код легко расширяемый, ну или нормально расширяемый |  
	
 Согласен. Но хрен его знает, что это значит. 
Вот пример бы, что ли. 
 
	
 
	| Сообщение от Dim@ |  
	| тоже не то, есть разные виды окошек, а у тебя один единственный класс вставлен |  
	
 Разве этого мало? Один класс - один стиль оформления. Разве не логично? |  |  
	| 
		
	| 
			
			 
			
				29.09.2012, 20:09
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 21.04.2012 
						Сообщений: 951
					 
		
 |  |  
	| PashPP,
 
	
 
	| Сообщение от PashPP |  
	| Разве этого мало? |  
	
 мало, есть разница между окном предупреждения и заполнением номера?
 
	
 
	| Сообщение от PashPP |  
	| Но хрен его знает, что это значит. |  
	
 это значит код, который легче дописывать, нежели переписывать, пример с которым я столкнулся когда писал "Перехватчик на JavaScript": 
я при движении цели писал абсолютное значение, а мест куда можно двигаться 9 значений, то есть постоянно на развилках if else писал абсолютное значение 1, когда пришлось сделать движение на две и болеее клетки я понял что нужно было писать на развилках не 1, а переменную которая содержало в себе 1 или 2 или 3 и т.д. так это облегчило бы мне задание - это пример мягко говоря плохой, но тем не менее пример   |  |  |  |