Why does this simple JQuery Hover Effect work everywhere EXCEPT in IE7 thru IE9?

Call var toolButtons = $('#toolButtons > li') and var insideCenter = $('#insideCenter > div').

Call var toolButtons = $('#toolButtons > li'); and var insideCenter = $('#insideCenter > div');. You dropped the var and it can't be seen as it is trying to set a global variable. Use var whenever possible, especially if the variable is not global.

EDIT: Pure jQuery: $(document). Ready(function() { $('#toolButtons > li'). Each(function(idx) { $(this).

Data('slide', $('#insideCenter > div'). Eq(idx)); }). Hover( function() { $('#toolButtons > li').

RemoveClass('active'); $('#insideCenter > div'). RemoveClass('active'); $(this). AddClass('active'); $(this).

Data('slide'). AddClass('active'); }); }).

It wouldn't be so bad if I hadn't admitted that I actually DO have vanilla JS experience -- but now I have no excuse for missing that! – vinnie May 3 at 14:50 adding var to the declarations does fix an error in IE6 - jsfiddle. Net/russcam/DYZT5/1 – Russ Cam May 3 at 14:53 You could do it in pure jQuery, check the edit above.

– anothershrubery May 3 at 14:58 the only point I would make with your edit is that in each iteration and each time the event handler function executes, you create new jQuery objects instead of using a closure to reference jQuery objects captured in variables in parent scope. The performance cost is most likely negligible, but it still creates a lot of objects unnecessarily, in my opinion. – Russ Cam May 3 at 15:25 True, was only adding it as a quick alternative to the javascript/jQuery mixture.

Not really required though. – anothershrubery May 3 at 15:28.

I think there is an issue with your how internet explore is handling the javascript, it appears that it doesn't like your varibles, im sure the smarter people would be able to explain the differences between internet explorer and the other browsers in this context. One solution would be to define them globally.

Well the obvious reason is that IE is crap. But as that doesn't actually help you... There could be a way to make this work in IE (try the other answers), but a simpler way I think would be to change how you are changing the css. You are using a funtion to detect that the list items are being hovered over, a simpler method would be to make a function, that is then run when the mouse hovers on the function onHover(){ change the css values for different IDs } then for each list item do blah you might need multiple functions (one for each li), but it depends on how you write your functions.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions