Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   написал коряво плагин на JS - он работает, а как сделать лучше? Теги: Массив, replace (https://javascript.ru/forum/misc/25636-napisal-koryavo-plagin-na-js-rabotaet-kak-sdelat-luchshe-tegi-massiv-replace.html)

alexben 11.02.2012 11:32

написал коряво плагин на 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]));


Я выделил участки кода которые корявые, посоветуйте пожалуйста как можно, это сделать более красиво\логично.

alexben 11.02.2012 15:02

я не правильно задал вопрос?

Mахmахmахimus 11.02.2012 15:21

я вообще не понял о чем ОП


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