У меня есть этот код jquery, который в зависимости от того, какая кнопка нажата, дает переменной a и b разные значения, которые затем обертывают текст и предупреждают об этом
$(document).ready(function () {
$("button").click(function () {
"andromeda" == this.id ? (a='<‡¦>',b='</‡¦>')
: "milkway" == this.id ? (a='<¬>',b='</¬>')
: "alien-alpha" == this.id ? (a='<¬y>',b='</¬y>')
: "galax" == this.id ? (a='<y×>',b='</y×>')
: "grainlang" == this.id ? (a='<y×>',b='</y×>')
...
: '';
alert(a + 'put here the text to translate into our language. each one corresponds to a different alien dialect' + b);
});
});
и html
<button type="button" id="andromeda">‡¦</button>
<button type="button" id="milkway">¬</button>
<button type="button" id="alien-alpha">¬y</button>
<button type="button" id="galax">y×</button>
<button type="button" id="grainlang">y‡‡</button>
...
в отношении этой части, как бы вы втиснули это как можно меньше места? У меня 2120 из них определены так, что занимаемое пространство огромно.. возможно ли определить словарь или массив и разумно преобразовать их по мере необходимости, чтобы уменьшить пространство?
"andromeda" == this.id ? (a='<‡¦>',b='</‡¦>')
: "milkway" == this.id ? (a='<¬>',b='</¬>')
: "alien-alpha" == this.id ? (a='<¬y>',b='</¬y>')
: "galax" == this.id ? (a='<y×>',b='</y×>')
: "grainlang" == this.id ? (a='<y×>',b='</y×>')
...
: '';
скрипка http://jsfiddle.net/jFnYx/
Я думаю, что что-то вроде этого, было бы полезно сохранить некоторые строки кода в файле js.
$("button").click(function () {
var a = '<'+this.innerHTML+'>';
var b = '</'+this.innerHTML+'>';
alert(a + 'put here the text to translate into our language. each one corresponds to a different alien dialect' + b);
});
Если вы хотите уменьшить html до. Я рекомендовал вам динамически генерировать кнопки. Вы можете создать массив следующим образом:
var array = new Array();
array['andromeda'] = '‡¦';
array['milkway'] = '¬';
array['alien-alpha'] = '¬y';
...
а затем итерации для создания кнопок и добавления их в html.
<button type="button" id="sumerlang">y‡×‡</button>
которые при нажатии должны заключать текст в*| the text here |*