Извиняюсь что снова беспокою - моя вина, упустил еще один момент: в изначальном списке должен быть еще один элемент <li class="retractor">Закрыть</li>, т.е. начальная верстка такая:
<nav>
<ul>
<li><a href="[[!++site_url]]"><span>Пункт меню</span></a></li>
<li>
<a href="[[~70]]"><span>Пункт меню с выпадающим списком</span></a>
<ul>
<li class="retractor">Закрыть</li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
</ul>
</li>
<li><a href="[[!++site_url]]"><span>Пункт меню</span></a></li>
<li><a href="[[!++site_url]]"><span>Пункт меню</span></a></li>
<li><a href="[[!++site_url]]"><span>Пункт меню</span></a></li>
</ul>
</nav>
<script>
[].forEach.call(document.querySelectorAll('ul li ul'), function(elt){
var z = Math.ceil(elt.querySelectorAll('li').length / 5);
[].forEach.call(elt.querySelectorAll('li:nth-child('+z+'n-'+(z-1)+')'),function(el,i){
el.insertAdjacentHTML('beforebegin', '<li><ul></ul></li>');
var wrap = elt.querySelectorAll('li ul')[i];
var x = z-1;
while(x-- && el.nextElementSibling) wrap.appendChild(el.nextElementSibling);
wrap.insertBefore(el, wrap.firstChild);
});
});
</script>
так вот этот пункт "Закрыть" не должен учитываться при разбиении на блоки, т.е. должно получиться так:
<nav>
<ul>
<li><a href="[[!++site_url]]"><span>Пункт меню</span></a></li>
<li>
<a href="[[~70]]"><span>Пункт меню</span></a>
<ul>
<li class="retractor">Закрыть</li>
<li>
<ul>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
</ul>
</li>
<li>
<ul>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
</ul>
</li>
<li>
<ul>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
</ul>
</li>
<li>
<ul>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
</ul>
</li>
<li>
<ul>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
<li><a href="[[~73]]"><span>Пункт подменю</span></a></li>
</ul>
</li>
</ul>
</li>
<li><a href="[[!++site_url]]"><span>Пункт меню</span></a></li>
<li><a href="[[!++site_url]]"><span>Пункт меню</span></a></li>
<li><a href="[[!++site_url]]"><span>Пункт меню</span></a></li>
</ul>
</nav>
думал, сам смогу разобраться, но что-то не получается