Показать сообщение отдельно
  #4 (permalink)  
Старый 25.04.2015, 01:30
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Вариант:
function elemHide(a){
   document.getElementById(a).display = "none";
}
function elemNoHide(a){
   document.getElementById(a).display = "";
}
function addClass(a,b){
   document.getElementById(a).className=b;
}
function setArrActions(arr){
   var lng = arr.length;
   for(var i=0;i<lng;i++){
     var act = arr[i].split('-');
     if(act[0]==2) {addClass(act[1],act[2]);continue;}
     if(act[0]==1) {elemHide(act[1]);continue;}
     if(act[0]==0) {elemNoHide(act[1]);continue;}
   }
}
// Maccив деяний: 2- добавляем класс, 1 - элемент скрываем, 0 - удаляем скрытие
var naztoaXX = "2-knopgaXX-vidsamknopa,2-knopgXX-vidsamknop,1-forbXX,1-forbkXX,0-forsXX,0-forskXX";
var naztoa2Arr = "naztoaXX".replace(/XX/gim,"2").split(',');
setArrActions(naztoa2Arr);
var naztoa3Arr = "naztoaXX".replace(/XX/gim,"3").split(',');
setArrActions(naztoa3Arr);
var naztoa4Arr = "naztoaXX".replace(/XX/gim,"4").split(',');
setArrActions(naztoa4Arr);

====================
Ну или используя исходник:
naztoaXX = function (){
    var knopgaXX = document.getElementById("knopgaXX");
    var knopgXX = document.getElementById("knopgXX");
    var forbXX = document.getElementById("forbXX");
    var forsXX = document.getElementById("forsXX");
    var forbkXX = document.getElementById("forbkXX");
    var forskXX = document.getElementById("forskXX");
    knopgaXX.className="vidsamknopa";
    knopgXX.className="vidsamknop";
    forbXX.style.display = "none";
    forsXX.style.display = "";
    forbkXX.style.display = "none";
    forskXX.style.display = "";
}
function generate_naztoaN(n){eval("window['naztoa'+n]="+naztoaXX.toString().replace(/XX/gim,n))}

generate_naztoaN(3);
alert(naztoa3);

generate_naztoaN(1);
alert(naztoa1);

На выходе получаеm функции:naztoa1() ,naztoa2() и т.д.

Последний раз редактировалось Deff, 25.04.2015 в 03:22.
Ответить с цитированием