How can I fix an IE6-8 delay when loading a page? jQuery code and development site included inside post
<p>I recently have been throwing together a client site and am starting to notice long frozen delays in IE6-8.</p>

<p>So I went back and rewrote a lot of it, but I'm still having trouble narrowing down the problem(s).</p>

<p>Here's what I have currently.</p>

<pre><code>&lt;script type="text/javascript"&gt;

/* header slideshow */

var slide_pos = 0;

var slide_len = $("#slideshow li").size() - 1;

slide_int = setInterval(function() {

    slide_cur = $("#slideshow li:eq(" + slide_pos + ")");
    slide_cur.fadeOut(2000);

    slide_pos = (slide_pos == slide_len ? 0 : (slide_pos + 1));

    slide_cur = $("#slideshow li:eq(" + slide_pos + ")");
    slide_cur.fadeIn(2000);

}, 5000);


/* left_menu */

$('#left_menu li').hover(function(){

    var left_menu_pos = $(this).position();

    $('&gt; .sub-menu:first', this).show();

}, function(){

    $('&gt; .sub-menu:first', this).hide();

});


/* search form */

$('#search_input').focus(function(){

    if($(this).attr('placeholder') == $(this).val()){

        $(this).val('');

    }

}, function(){

    if($(this).val() == ''){

        $(this).val($(this).attr('placeholder'));

    }

});


/* fancybox declarations */

$('.sidebar_thumb a').fancybox({cyclic:true});

&lt;/script&gt;
</code></pre>

<p><strong>Here's the updated code to match Peeter's suggestions.  Still having issues though.  Any suggestions?</strong></p>

<pre><code>&lt;script type="text/javascript"&gt;
/* header slideshow */

var slide_pos = 0;

var slide_len = $('#slideshow').find('li').size() - 1;

(function slide_int(){

    slide_cur = $('#slideshow').find('li').eq(slide_pos);
    slide_cur.fadeOut(2000);

    slide_pos = (slide_pos == slide_len ? 0 : (slide_pos + 1));

    slide_cur = $('#slideshow').find('li').eq(slide_pos);
    slide_cur.fadeIn(2000);

    setTimeout(slide_int, 5000);

}());


/* left_menu */

$('#left_menu').find('li').mouseover(function(){

    var left_menu_pos = $(this).position();

    $(this).find('.sub-menu:first').show();

}).mouseout(function(){

    $(this).find('.sub-menu:first').hide();

});

/* search form */

$('#search_input').focus(function(){

    if($(this).attr('placeholder') == $(this).val()){

        $(this).val('');

    }

}, function(){

    if($(this).val() == ''){

        $(this).val($(this).attr('placeholder'));

    }

});


/* fancybox declarations */

$('.sidebar_thumb a').fancybox({cyclic:true});
&lt;/script&gt;
</code></pre>

<p>Now my question is, could the setInterval be waiting to start, could it be that the #left_menu has about 50 list items in it, or do I just plain sucking at writing code?</p>
