Показать сообщение отдельно
  #3 (permalink)  
Старый 03.04.2015, 17:55
Аспирант
Отправить личное сообщение для Velidan Посмотреть профиль Найти все сообщения от Velidan
 
Регистрация: 13.02.2015
Сообщений: 32

Рони, в который раз спасибо Вам огромное за помощь.

Решил самостоятельно вот таким образом, правда, как-то очень топорно вышло, но я очень рад, что у меня хоть как-то получилось.
function SwitcherHandleBuilder(elementsClass,parentMode){
        var parentMode  = parentMode || false;
        var className = elementsClass;
        var elementsCollection = Array.prototype.slice.call(document.getElementsByClassName(className));
        var collectionCount = elementsCollection.length;

       // alert(collectionCount)

        var makeSelfSwitcherHandler = function(element){
            return function(event){
                var event = fixEvent(event,this);
                var target = event.target;
               // alert(target.tagName+"   "+target.classList.contains(className)+"   "+className);
                if(!target.classList.contains(className)){
                       return;
                    } else {
                    if(!parentMode){
                        element.classList.toggle('opened');
                    } else{
                        element.parentNode.classList.toggle('opened');
                    }
                }
              event.stopPropagation();
            };
        };

        for(var counter = 0; counter<collectionCount; counter++){
            var element = elementsCollection[counter];
            element.addEventListener('click',makeSelfSwitcherHandler(element));
        };
    };

    // SwitcherHandleBuilder(@param - string, @param=false (boolean -> Optional)))(передаем класс для обработки и включаем "Родительский режим" когда класс opened присвоится родителю элемента
    SwitcherHandleBuilder("selfSwitcher");
    SwitcherHandleBuilder("switchParent",true);
    SwitcherHandleBuilder("switcherLevel_1");
Ответить с цитированием