Clearing the interval may be a timing issue which simply differs in the various browsers. I know that when we discussed this before it depended upon the ms set in two places, one in your config and the other in your code segment above. And it sounded like a bit of a balancing act.
That said, it's usually safest to set an interval with an anonymous function, so that (among other things) the reference to it cannot be overwritten by any event or return value of the function. Also, you cannot append the same element to the body more than once, and making extra events just to change the width of something is unwise.
Give this a shot:
Code:
var timerLeft;
config.$leftnavbutton.hover(function(){ //assign nav button event handlers
this.style.width = '45px';
slideLeft();
timerLeft = setInterval(function(){slideLeft();}, 3572);
}, function() {
this.style.width = '40px'
clearInterval(timerLeft);
});
function slideLeft() {
stepcarousel.stepBy(config.galleryid, -config.defaultbuttons.moveby);
}
var timerRight;
config.$rightnavbutton.hover(function(){ //assign nav button event handlers
this.style.width = '45px';
slideRight();
timerRight = setInterval(function(){slideRight();}, 3572);
}, function() {
this.style.width = '40px';
clearInterval(timerRight);
});
function slideRight() {
stepcarousel.stepBy(config.galleryid, config.defaultbuttons.moveby);
}
But that's just my best guess and assumes that this was working in those other browsers for the reasons which seem obvious, and that the timing issue I mentioned is not the problem.
If you want more help:
Please post a link to a page on your site that contains the problematic code so we can check it out.
Bookmarks