[jQuery] Mouseover/out + CSS background image behavior change in IE between rev 249 and 413
Does JQuery try to refresh/reload any CSS on mouse events? In my version of
IE (with JQuery rev 413) every mouseover/out is causing all my CSS
background images to quickly reload (but not quickly enough, as it is quite
noticeable). I did not have this problem with rev 249 (I just updated to
413 yesterday and noticed the strange behavior).
One more thing: the dev PC at work does not show a problem with IE with
either JQuery version. My home PC shows the problem with version 413 only.
At home, 249 works perfectly but fails as soon as I try the 413 version.
Is it possible that the memory leak fixes (that I understand are in the
updated JQuery) are causing quick refreshes on the CSS?
Thanks for any insight. Feel free to email be w/questions. pragueexpat (at)
hotmail.com
code:
$(document).ready(function(){
//remove anchors in menu table tds - replace w/bkimg
$(".menuanchor").remove();
$("#menutab1").css({backgroundImage:"url(i/about.jpg)",cursor:"pointer"}).rb_menu(); $("#menutab2").css({backgroundImage:"url(i/practice.jpg)",cursor:"pointer"}).rb_menu(); $("#menutab3").css({backgroundImage:"url(i/offices.jpg)",cursor:"pointer"}).rb_menu(); $("#menutab4").css({backgroundImage:"url(i/tech.jpg)",cursor:"pointer"}).rb_menu(); $("#menutab5").css({backgroundImage:"url(i/patients.jpg)",cursor:"pointer"}).rb_menu(); $(".links").click(function(){window.location=this.id+".php"}); $("#logo").click(function(){window.location="/bho/index.php"}); $("#newsbody").height($("#contentcol2").height()-111+"px");});$.fn.rb_menu = function(options) { var self = this; this.options = { // transitions: easein, easeout, easeboth, bouncein, bounceout, // bounceboth, elasticin, elasticout, elasticboth transition: 'easein', // trigger events: mouseover, mousedown, mouseup, click, dblclick triggerEvent: 'mouseover', // number of ms to delay before hiding menu (on page load) loadHideDelay : 500, // number of ms to delay before hiding menu (on mouseout) blurHideDelay: 500, // number of ms for transition effect effectDuration: 500 } // make sure to check if options are given! if(options) { $.extend(this.options, options); } return this.each(function() { var menu = $("#drop"+this.id); menu.closed = true; menu.hide(); menu.hide = function() { if(menu.css('display') == 'block' && !menu.closed) { menu.BlindUp( self.options.effectDuration, function() { menu.closed = true; menu.unbind(); }, self.options.transition ); } $(".dropmenu li").css("fontWeight","normal"); } menu.show = function() { if(menu.css('display') == 'none' && menu.closed) { menu.BlindDown( self.options.effectDuration, function() { menu.closed = false; menu.hover(function() { clearTimeout(menu.timeout); }, function() { menu.timeout = setTimeout( function() { menu.hide(); }, self.options.blurHideDelay); }); }, self.options.transition ); } //highlight each li option on mouseover $(".dropmenuli").mouseover(function(){$(this).css({fontWeight:"bold",color:"white",background:"#e6ccb3"});}).mouseout(function(){$(this).css({fontWeight:"normal",color:"#a0a0a0",background:"#f2e6da"});}); } //show drop down when mouseover table tds self.bind("mouseover", function() { menu.show(); }); //hide drop downs if mouseout of table tds self.bind("mouseout", function() { menu.timeout = setTimeout( function() {menu.hide();},self.options.blurHideDelay); }); });};
_______________________________________________
jQuery mailing list
discuss@jquery.com
http://jquery.com/discuss/