THATS IT! thanks a lot!

it was a little bit tricky for me to pass the row object to the trHigh/
trLow functions, because when triggered by a timeout "this" didn't
point to the row (the event target) but to the window object :(. so i
must implement a browser switch :(

my code looks now like:

registration:
:
:
        if(jQuery.browser.msie){
          rows.each(function(){
            var r=$(this);
                        r.hover(
                          function(){setTimeout(function(){trHigh(r);},0);},
                          function(){setTimeout(function(){trLow(r);},0);});
             });
         }else rows.hover(trHigh,trLow)
:
:

and the handler functions:

  var trHigh=function(o){
    var r=o&&o[0]?o[0]:this;//o can also be the event in FF
    var c=r.className;
    if(c.indexOf(CSS_S)>-1){
      c=c.replace(RCSS_S,"");
      c+=" "+CSS_SH;
    }else c+=" "+CSS_H;
    r.className=c;
  };

  var trLow= function(o){
    var r=o&&o[0]?o[0]:this;
    var c=r.className;
    if(c.indexOf(CSS_S)>-1){
      c=c.replace(RCSS_SH,"");
      c+=" "+CSS_S;
    }else c=c.replace(RCSS_H,"");
    r.className=c;
  };

is there a more elegant way to pass the original event target to an
function wich is called via setTimeout??

regards, stefan flick

On 6 Jun., 01:56, "Karl Rudd" <[EMAIL PROTECTED]> wrote:
> Regarding the "document.execCommand("BackgroundImageCache", false,
> true)", the first entry in a Google search for "BackgroundImageCache"
> turns up this:
>
>    http://misterpixel.blogspot.com/2006/09/forensic-analysis-of-ie6.html
>
> As to the slowing "tracking", it looks like IE has a bit of a pause
> between the change in className and actually rendering the change to
> screen.
>
> I've just optimised a similar piece of code in project and this is
> what I've come up with:
>
> $('table tr').each( function() {
>         var row = $(this);
>         row.hover(
>                 function() {
>                         setTimeout( function() { row.addClass('hover'); }, 0 
> );
>                 },
>                 function() {
>                         setTimeout( function() { row.removeClass('hover'); }, 
> 0 );
>                 }
>         );
>
> });
>
> Somehow using the "setTimeout" bypasses, or shortens, the rendering delay.
>
> Karl Rudd
>
> On 6/6/07, devsteff <[EMAIL PROTECTED]> wrote:

Reply via email to