tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
886
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    mrrogers mrrogers ist offline Mitglied
    Registriert seit
    Sep 2007
    Beiträge
    11
    Hallo,
    ich arbeite gerade an einem drag&drop-skript und es gibt Probleme mit dem Internet Explorer. Mit dem Skript kann ich Listenelemente (<li>) untereinander verschieben. Dazu wird beim aufruf von OnMouseDown ihre Position zu "absolute" geändert und dann mittels den style-Angaben "Left" und "Top" mit dem Mauszeiger verschoben (soweit, so standard). Nur der Internet Explorer macht die Sache nicht wie erwartet (Firefox, Opera läuft exzellent). Bei ihm sind die Boxen immer viel weiter oben als der Mauszeiger (schon beim Klick) und beim scrollen bleiben die kästen nicht am Mauszeiger haften (wie etwa in FF oder Opera).
    Ist das ein typisches IE-Problem für das es eine Art 0815-Lösung gibt? Ich habe hier mal den relevanten Code-auszug:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
        if(e.clientX){
            x = e.clientX;
            y = e.clientY;
        }
        if(e.offsetLeft){
            x = e.offsetLeft;
            y = e.offsetTop;
        }
        if(e.pageX){
            x = e.pageX;
            y = e.pageY;
        }
        dragobj.style.position = 'absolute';
        dragobj.style.left = (x)+'px';
        dragobj.style.top = (y)+'px';
    muss ich vielleicht nur eine andere Funktion einsetzen?
    Vielen Dank für eure Hilfe!
    Vincent

    edit: Bin nocheinmal weitergekommen! Das Problem tritt tatsächlich nur dann auf, wenn ich mit dem Drag weiter unten auf der Seite anfange (d.h. ich habe bereits auf der Seite gescrollt). Meine Vermutung ist jetzt: Der Internet-Explorer misst den Abstand zum oberen Bildschirmrand und nicht zum Anfang der Seite - wie kann man das umgehen?
    Geändert von mrrogers (02.05.10 um 17:52 Uhr)
     

  2. #2
    Maik Tutorials.de Gastzugang
    Zitat Zitat von mrrogers Beitrag anzeigen
    edit: Bin nocheinmal weitergekommen! Das Problem tritt tatsächlich nur dann auf, wenn ich mit dem Drag weiter unten auf der Seite anfange (d.h. ich habe bereits auf der Seite gescrollt). Meine Vermutung ist jetzt: Der Internet-Explorer misst den Abstand zum oberen Bildschirmrand und nicht zum Anfang der Seite - wie kann man das umgehen?
    Wie lauten denn die CSS-Formatierungen der Seite im einzelnen?

    Hast du einen Link zu der Seite, damit man dort einen Blick drauf werfen kann?

    mfg Maik
     

  3. #3
    mrrogers mrrogers ist offline Mitglied
    Registriert seit
    Sep 2007
    Beiträge
    11
    also die Seite war nicht online aber inzwischen habe ich die Lösung gefunden, sie war gar ncihtmal so schwer. Beim InternetExplorer muss der "ScrollWert" zusätzlich addiert werden. Da gibt's auch Versionsunterschiede, deshalb verwendet man am besten:
    Code :
    1
    2
    
            x = document.body.scrollLeft + document.documentElement.scrollLeft + e.clientX;
            y = document.body.scrollTop + document.documentElement.scrollTop + e.clientY;
    (für den IE)
    trotzdem vielen Dank für deine Hilfe
     

  4. #4
    Quaese Quaese ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Feb 2004
    Beiträge
    3.451
    Hi,

    der IE verwendet für den Quirks- und Standardmode unterschiedliche Objekt für das body-Element. Hier musst du das richtige verwenden.

    Beispiel:
    Code :
    1
    2
    3
    4
    5
    6
    
    var objBody = null;
    // Passendes Body-Objekt ermitteln
    if(document.all && !window.opera)
      objBody =(window.document.compatMode == "CSS1Compat")? window.document.documentElement : window.document.body || null;
    else
      objBody = document.documentElement;

    Genauere Infos findest du zum Beispiel hier.

    Ciao
    Quaese
     
    Vielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
    ----
    Der "Fortsetzungsroman" auf www.leuteforum.de

    New kind to realize large scalable projects with jQuery: jQuery SDK

Ähnliche Themen

  1. [C#] Drag (nicht Drop) Files
    Von klanawagna im Forum .NET Windows Forms
    Antworten: 3
    Letzter Beitrag: 11.08.10, 08:27
  2. Outlook Drag & Drop funktioniert auf Arbeitsrechner nicht
    Von hausmeister079 im Forum .NET Datenverwaltung
    Antworten: 3
    Letzter Beitrag: 24.05.10, 09:14
  3. Drag & Drop, aber doch nicht...
    Von Ismix im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 5
    Letzter Beitrag: 17.02.09, 09:42
  4. Drag&Drop funktioniert nicht richtig
    Von Hookah im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 28.09.07, 12:43
  5. Drag and Drop von ImageIcons funktioniert nicht
    Von javaml im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 1
    Letzter Beitrag: 18.04.07, 13:10

Stichworte