Показать сообщение отдельно
  #1 (permalink)  
Старый 24.03.2015, 09:57
Аспирант
Отправить личное сообщение для Нубопрогер Посмотреть профиль Найти все сообщения от Нубопрогер
 
Регистрация: 26.05.2014
Сообщений: 72

Формирование рабочей функции
Недавно столкнулся я с проблемой объёмного js.
Суть вот в чём: имеются 11 элементов, которым нужно указать .css({'margin-top':'...'});
Я занёс их в массив:
var sort1=["selectmenu1","selectmenu2","selectmenu3","selectmenu4","selectmenu5","creategame", "gametitle", "playersnumber", "resultcreate", "gamecreate", "listgame"];

и ещё 5 элементов на .css({'margin-left':'...'});:
var sort2 = ["creategame", "gametitle", "playersnumber", "resultcreate", "gamecreate", "listgame"];


Далее, есть ключи на них:
var key1 = ["0.1", "0.15", "0.2", "0.25", "0.3", "0.25", "0.3", "0.38", "0.42", "0.46", "0.15"];
var key2 = ["0.35", "0.375", "0.4", "-0.1", "0.375", "0.21"];


И всё, я циклом прогоняю эти массивы, получаем (jquery) :
$(document).ready(function(){
	setTimeout(function(){
for (var name1 = 0; name1<11; name1++) {document.getElementById("scripter").innerHTML = document.getElementById("scripter").innerHTML + '$(document).ready(function(){$("#' + sort1[name1] + '").css({"margin-top" : "' + key1[name1]*screen.height + '"})});  '}
for (var name2 = 0; name2<5; name2++) {'$("#' + sort2[name2] + '").css({"margin-top" : "' + key2[name2]*screen.width + '"});'}
	},5000);
})


Итогом этого прогона является текст:
$(document).ready(function(){$("#selectmenu1").css({"margin-top" : "76.80000000000001"});})$(document).ready(function(){$("#selectmenu2").css({"margin-top" : "115.19999999999999"});})$(document).ready(function(){$("#selectmenu3").css({"margin-top" : "153.60000000000002"});})$(document).ready(function(){$("#selectmenu4").css({"margin-top" : "192"});})$(document).ready(function(){$("#selectmenu5").css({"margin-top" : "230.39999999999998"});})$(document).ready(function(){$("#creategame").css({"margin-top" : "192"});})$(document).ready(function(){$("#gametitle").css({"margin-top" : "230.39999999999998"});})$(document).ready(function(){$("#playersnumber").css({"margin-top" : "291.84000000000003"});})$(document).ready(function(){$("#resultcreate").css({"margin-top" : "322.56"});})$(document).ready(function(){$("#gamecreate").css({"margin-top" : "353.28000000000003"});})$(document).ready(function(){$("#listgame").css({"margin-top" : "115.19999999999999"});})

в <script id="scripter"></script>


А мне нужно, чтобы строка выводилась, и значения сразу применялись к указанным элементам. Как это сделать?
Ответить с цитированием