I created the following process. Basically, it moves around a giant unordered list with several nested level lists and creates a 2-level nested unordered list. It works well, but in IE7 is very slow. FireFox and Safari don't have big problems with this. Not very good in jQuery I was wondering if I can speed it up using the best / fast / smart features. Due to the CMS used, I cannot change the output or the jQuery version used by me, which is 1.2.6.
Here is what I have:
$('ul#mainnav li ul li').each(function() {
$(this).addClass('depth-'+$(this).parents('ul').length);
$($(this).children('ul')).insertAfter($(this));
});
$('ul#mainnav li ul').each(function() {
$(this).replaceWith($(this).children());
});
$('ul#mainnav li').each(function() {
$(this).children('li:first').before('<ul class="megamenu" />');
$(this).children('.megamenu').append($(this).children('li'));
});
$('.megamenu').easyListSplitter({
colNumber: 5
});
Any ideas? If you need more information let me know!
Greetings
EDIT:
Thanx . . var $this = $(this); 20 . , . - ! :
<ul id="mainnav">
<li><a href="#">A-1</a>
<ul>
<li><a href="#">A-1-1</a>
<ul>
<li><a href="#">A-1-1-1</a></li>
<li><a href="#">A-1-1-2</a></li>
<li><a href="#">A-1-1-3</a></li>
</ul>
</li>
<li><a href="#">A-1-2</a></li>
<li><a href="#">A-1-3</a>
<ul>
<li><a href="#">A-1-3-1</a></li>
<li><a href="#">A-1-3-2</a></li>
<li><a href="#">A-1-3-3</a></li>
</ul>
</li>
<li><a href="#">A-1-4</a>
<ul>
<li><a href="#">A-1-4-1</a></li>
<li><a href="#">A-1-4-2</a></li>
<li><a href="#">A-1-4-3</a></li>
<li><a href="#">A-1-4-4</a></li>
<li><a href="#">A-1-4-5</a></li>
</ul>
</li>
<li><a href="#">A-1-5</a>
<ul>
<li><a href="#">A-1-5-1</a></li>
<li><a href="#">A-1-5-2</a></li>
<li><a href="#">A-1-5-3</a></li>
<li><a href="#">A-1-5-4</a></li>
<li><a href="#">A-1-5-5</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#">B-1</a>
<ul>
<li><a href="#">B-1-1</a>
<ul>
<li><a href="#">B-1-1-1</a></li>
<li><a href="#">B-1-1-2</a></li>
<li><a href="#">B-1-1-3</a></li>
</ul>
</li>
<li><a href="#">B-1-2</a></li>
<li><a href="#">B-1-3</a>
<ul>
<li><a href="#">B-1-3-1</a></li>
<li><a href="#">B-1-3-2</a></li>
<li><a href="#">B-1-3-3</a></li>
</ul>
</li>
<li><a href="#">B-1-4</a>
<ul>
<li><a href="#">B-1-4-1</a></li>
<li><a href="#">B-1-4-2</a></li>
<li><a href="#">B-1-4-3</a></li>
<li><a href="#">B-1-4-4</a></li>
<li><a href="#">B-1-4-5</a></li>
</ul>
</li>
<li><a href="#">B-1-5</a>
<ul>
<li><a href="#">B-1-5-1</a></li>
<li><a href="#">B-1-5-2</a></li>
<li><a href="#">B-1-5-3</a></li>
<li><a href="#">B-1-5-4</a></li>
<li><a href="#">B-1-5-5</a></li>
</ul>
</li>
</ul>
</li>
:
<ul id="mainnav">
<li><a href="#">A-1</a>
<div class="listContainer1">
<ul class="megamenu listCol1">
<li class="depth-2"><a href="#">A-1-1</a></li>
<li class="depth-3"><a href="#">A-1-1-1</a></li>
<li class="depth-3"><a href="#">A-1-1-2</a></li>
<li class="depth-3"><a href="#">A-1-1-3</a></li>
<li class="depth-2"><a href="#">A-1-2</a></li>
</ul>
<ul class="listCol2 megamenu">
<li class="depth-2"><a href="#">A-1-3</a></li>
<li class="depth-3"><a href="#">A-1-3-1</a></li>
<li class="depth-3"><a href="#">A-1-3-2</a></li>
<li class="depth-3"><a href="#">A-1-3-3</a></li>
<li class="depth-2"><a href="#">A-1-4</a></li>
</ul>
<ul class="listCol3 megamenu">
<li class="depth-3"><a href="#">A-1-4-1</a></li>
<li class="depth-3"><a href="#">A-1-4-2</a></li>
<li class="depth-3"><a href="#">A-1-4-3</a></li>
<li class="depth-3"><a href="#">A-1-4-4</a></li>
<li class="depth-3"><a href="#">A-1-4-5</a></li>
</ul>
<ul class="listCol4 megamenu">
<li class="depth-2"><a href="#">A-1-5</a></li>
<li class="depth-3"><a href="#">A-1-5-1</a></li>
<li class="depth-3"><a href="#">A-1-5-2</a></li>
<li class="depth-3"><a href="#">A-1-5-3</a></li>
<li class="depth-3"><a href="#">A-1-5-4</a></li>
</ul>
<ul class="listCol5 megamenu last">
<li class="depth-3"><a href="#">A-1-5-5</a></li>
</ul>
</div>
</li>
<li><a href="#">B-1</a>
<div class="listContainer2">
<ul class="megamenu listCol1">
<li class="depth-2"><a href="#">B-1-1</a></li>
<li class="depth-3"><a href="#">B-1-1-1</a></li>
<li class="depth-3"><a href="#">B-1-1-2</a></li>
<li class="depth-3"><a href="#">B-1-1-3</a></li>
<li class="depth-2"><a href="#">B-1-2</a></li>
</ul>
<ul class="listCol2 megamenu">
<li class="depth-2"><a href="#">B-1-3</a></li>
<li class="depth-3"><a href="#">B-1-3-1</a></li>
<li class="depth-3"><a href="#">B-1-3-2</a></li>
<li class="depth-3"><a href="#">B-1-3-3</a></li>
<li class="depth-2"><a href="#">B-1-4</a></li>
</ul>
<ul class="listCol3 megamenu">
<li class="depth-3"><a href="#">B-1-4-1</a></li>
<li class="depth-3"><a href="#">B-1-4-2</a></li>
<li class="depth-3"><a href="#">B-1-4-3</a></li>
<li class="depth-3"><a href="#">B-1-4-4</a></li>
<li class="depth-3"><a href="#">B-1-4-5</a></li>
</ul>
<ul class="listCol4 megamenu">
<li class="depth-2"><a href="#">B-1-5</a></li>
<li class="depth-3"><a href="#">B-1-5-1</a></li>
<li class="depth-3"><a href="#">B-1-5-2</a></li>
<li class="depth-3"><a href="#">B-1-5-3</a></li>
<li class="depth-3"><a href="#">B-1-5-4</a></li>
</ul>
<ul class="listCol5 megamenu last">
<li class="depth-3"><a href="#">B-1-5-5</a></li>
</ul>
</div>
</li>