IE8 opacity support is well known as very flaky and buggy.
jQuery does a great job of distracting the details from you as a developer, but they cannot escape the simple fact that the function does not work in this browser.
My recommendation would be to completely change the checkmark, and instead of fading out the element you see, there is instead a hidden element that is a simple white box of the same size and disappears instead.
The effect will be about the same, but should work better in IE, because you will only affect the opacity of one element.
source share