[JS] Problem mit removeLayer() Funktion im IE 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • [JS] Problem mit removeLayer() Funktion im IE 8

    Hi für ein Projekt nutzen wir einen Layer für Werbung im IE 8 und möglicherweise auch Vorgänger Versionen wie 7 & 6 "tanzt" der Layer im IE Fenster also er bewegt sich endlos schnell nach oben und unten...

    Die Funktion:

    Quellcode

    1. function removeLayer()
    2. {
    3. if (iLayerDirection == 0 && getX(myLayer) > iLayerStart) {
    4. myLayer.style.left = Math.max(iLayerStart, getX(myLayer) - iLayerDelta) + 'px';
    5. }
    6. if (iLayerDirection == 1 && getY(myLayer) > iLayerStart) {
    7. myLayer.style.top = Math.max(iLayerStart, getY(myLayer) - iLayerDelta) + 'px';
    8. }
    9. if (iLayerDirection == 0) {
    10. if (getX(myLayer) > iLayerStart) {
    11. setTimeout("removeLayer()", iLayerTimer);
    12. }
    13. else {
    14. myLayer.style.display = 'none';
    15. bLayerCheckScrolling = true;
    16. }
    17. }
    18. else if (iLayerDirection == 1) {
    19. if (getY(myLayer) > iLayerStart) {
    20. setTimeout("removeLayer()", iLayerTimer);
    21. }
    22. else {
    23. myLayer.style.display = 'none';
    24. bLayerCheckScrolling = true;
    25. }
    26. }
    27. }
    Alles anzeigen


    Die Funktionen getX & getY:

    Quellcode

    1. function getX(el)
    2. {
    3. if (el.offsetParent) {
    4. return (el.offsetLeft + getX(el.offsetParent));
    5. }
    6. else {
    7. return (el.offsetLeft);
    8. }
    9. }
    10. function getY(el)
    11. {
    12. if (el.offsetParent) {
    13. return (el.offsetTop + getY(el.offsetParent));
    14. }
    15. else {
    16. return (el.offsetTop);
    17. }
    18. }
    Alles anzeigen


    Ich habe den Fehler ja irgendwo in der Funktion getX oder getY vermutet es stellte sich aber heraus das beide Funktionen in alle Browsern korrekte Werte zurück geben somit dürfte der Fehler in der Funktion removeLayer zu finden sein ...

    Ich kenne mich nicht so gut in diesem Gebiet aus deswegen wollte ich mal fragen ob ihr in einer der Funktionen den möglichen Verursacher für den IE Fehler findet?!?

    Danke