You are calling the lengthy jQuery chain *first* and then passing its result
to setTimeout. Your code is equivalent to:
var temp =
$(['li.',o.hoverClass].join(''),this)
.add(this)
.not(not)
.removeClass(o.hoverClass)
.find('>ul')
.css('visibility','hidden');
setTimeout( temp, 1000 );
Instead, you need to pass a *function* to setTimeout:
setTimeout( function() {
$(['li.',o.hoverClass].join(''),this)
.add(this)
.not(not)
.removeClass(o.hoverClass)
.find('>ul')
.css('visibility','hidden');
}, 1000 );
-Mike
On Thu, Dec 17, 2009 at 6:47 AM, decola <[email protected]> wrote:
> setTimeout($(['li.',o.hoverClass].join(''),this).add(this).not
> (not).removeClass(o.hoverClass).find('>ul').css
> ('visibility','hidden'), 1000);
>