I see several things that can lead to various problems in your code example:
1. JavaScript
First of all, you almost never use any jQuery. Since you are already using jQuery, you can use it to the full and save a lot of headaches. For example, instead of implementing your own moveDIV () function, you can use:
$("#id").css({left: 10, top: 10});
almost exactly how you use .animate () in your code. You can also use offset () for this, which is better for you:
$("#id").offset({left: 10, top: 10});
Read about .offset() , .css() and .animate() in jQuery API docs .
By the way, instead of using:
setTimeout("anim1()",22000);
better to use:
setTimeout(anim1, 22000);
He does the same, but more efficiently.
2. CSS
You can try experimenting with position: absolute or position: relative , where you have position: fixed .
3. HTML
You do not have a doctype, and IE may try to display your page in quirks mode. To use standards mode, add doctype at the very beginning of your HTML: <!doctype html>
In fact, IE8 might even use the IE7 rendering engine if it thinks it would be better for your site. If you want to make sure you always render the best rendering engine in IE, you should also add: <meta http-equiv="X-UA-Compatible" content="IE=Edge">
In addition, when you verify that your site is running IE8, you can also use the Google Chrome Frame plugin if available: <meta http-equiv="X-UA-Compatible" content="IE=Edge;chrome=1">
In general, the beginning of your HTML should look something like this:
<!doctype html> <html lang="en-us"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=Edge;chrome=1" > ... and the rest of your HTML
This is just what I see in the code, which you can change. I donβt know if this is dealing with your problem, but even if it does not help you get rid of the need to deal with other problems later.