Javascript.RU

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

написал коряво плагин на JS - он работает, а как сделать лучше? Теги: Массив, replace
emoTicon: {
				name: 'smile',
				dialog: {
					content: function() {
						//var smiley_url = '/assets/plugins/bb-smilies/';
						var addSmile =[	
											[':D','laugh.gif'], 		[':lol:','lol.gif'],
											[':-)','smile.gif'],		[';-)','wink.gif'],
											['8)','cool.gif'],			[':-|','normal.gif'],
											[':-*','whistling.gif'],	[':oops:','redface.gif'],
											['8)','cool.gif'],			[':sad:','sad.gif'],
											[':-*','whistling.gif'],	[':cry:','cry.gif'],
											[':o','surprised.gif'],		[':-?','confused.gif'],
											[':-x','sick.gif'],			[':eek:','shocked.gif'],
											[':-x','sick.gif'],			[':eek:','shocked.gif']
									  ],

					
							ul 	 = '<ul class="smarkup-special-chars">{rows}</ul>',
							li  	 = '<li>{cols}</li>',
							img		 = '<img alt="{alt}"',
							img2		 = ' src="smiles/{src}"/>',
							rowCount = addSmile.length / 6,
							rows 	 = [];
			
						for (var i = 0; i < rowCount; i++) {
							var cols = [];
							for (var j = i * 6; j < (i * 6 + 6); j++) {
								cols.push(img.replace('{alt}', addSmile[j][0]));
								cols.push(img2.replace('{src}', addSmile[j][1]));
							}
							rows.push(li.replace('{cols}', cols.join('')));
						}
						
						return ul.replace('{rows}', rows.join(''));
						
					},
					events: {
						onclick: function(e) {
							this.paste((e.target || e.srcElement).alt);
							this.hideDialog();
							return false;
						}
					}
				}
			},


Вообщем плагин работает, но крайне не нравится как написал поиск- замена из массива.
Хотелось бы сразу указать в одной переменной и {src} и {alt}.

img = '<img alt="{alt}"',
img2 = ' src="smiles/{src}"/>',

..
cols.push(img.replace('{alt}', addSmile[j][0]));
cols.push(img2.replace('{src}', addSmile[j][1]));


Я выделил участки кода которые корявые, посоветуйте пожалуйста как можно, это сделать более красиво\логично.
Ответить с цитированием
  #2 (permalink)  
Старый 11.02.2012, 15:02
Интересующийся
Отправить личное сообщение для alexben Посмотреть профиль Найти все сообщения от alexben
 
Регистрация: 11.02.2012
Сообщений: 26

я не правильно задал вопрос?
Ответить с цитированием
  #3 (permalink)  
Старый 11.02.2012, 15:21
Профессор
Посмотреть профиль Найти все сообщения от Mахmахmахimus
 
Регистрация: 10.02.2012
Сообщений: 254

я вообще не понял о чем ОП
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как лучше подгружать js? InviS Общие вопросы Javascript 0 15.09.2010 06:13
30(1|2) редирект от сервера. Или как лучше сделать редирект при верной отсылке форма. pizzZ AJAX и COMET 2 18.02.2010 09:06
Ajax и три <form> не работает. Как правильно сделать листание записей из базы данных? vlad275 AJAX и COMET 2 14.12.2009 14:04
Вставка блока php в js...Как сделать? reup Общие вопросы Javascript 2 30.07.2009 11:02
Как лучше сделать глобальный массив skyfish AJAX и COMET 4 17.02.2009 18:05