ksa,
Я думаю, что вы напрасно смеетесь. Потому что многие учатся таким способом. У меня пока что вот что получается
window.onload = function() {
function loadElements() {
//Основные параметры
var element = '.filter__item', //элементы к которым будет применен метод
childrenElements = '.filter__option', //дочерние элементы, больше числа которых появляется кнопка раскрытия
count = 3, //число, после которого появится раскрытие
speed = 250, //скорость раскрытия блока по нажатию на кнопку показа
textMore = '+ Показать все', //Текст для кнопки "Показать все"
textLess = '- Скрыть'; //Текст для кнопки "Cкрыть"
//Переменные, используемые в плагине
var elList = document.querySelectorAll(element); //находим все элементы на странице, к которым нужно применить метод
Array.prototype.forEach.call(elList, function(el, i) { //Обходим в цикле все элементы
var countChildren = elList[i].querySelectorAll(childrenElements);
if(countChildren.length > count) {
//Создаем контейнер, куда будем перемещать все элементы, которые нужно скрыть.
var container = document.createElement('div');
container.className = 'loadContainer';
//Присваиваем контейнер в наш элемент
elList[i].appendChild(container);
//Выбираем все элементы, которые будем скрывать
for(var j = 0; j < countChildren.length; j++) {
if(j > count - 1) {
container.appendChild(countChildren[j]);
}
}
}
});
}
loadElements();
}