jQuery-UI-performance-Probleme mit einer Tabelle im IE

Bin ich immer Probleme auftreten UI-code ausführen soll, überhaupt gut im IE.

Ich habe eine Tabelle - eine matrix von Werten. Jede Zelle kann leer sein, oder Sie halten eine Liste von Elementen.

Ich möchten, dass Benutzer in der Lage, ziehen Sie die Elemente zwischen den Zellen.

Also mein HTML sieht ungefähr so aus:

<table>
    <tr><td></td><th scope="col">col 1</th><th scope="col">col 2</th></tr>
    <tr><th scope="row">row 1</th>
        <td class="droppable-cell">
            <div class="draggable-item">item A</div>
            <div class="draggable-item">item B</div>
        </td>
        <td class="droppable-cell"></td>
    </tr>
    <tr><th scope="row">row 2</th>
        <td class="droppable-cell"></td>
        <td class="droppable-cell">
            <div class="draggable-item">item C</div>
            <div class="draggable-item">item D</div>
        </td>
    </tr>
</table>

Dann bin ich mit jQuery 1.3.1 und jQuery UI-1.6rc6:

$j('.draggable-item').each(function()
{
    $j(this).draggable({
       addClasses: false,
       revert: true, 
       zIndex: 2000,
       cursor: 'move'
    });
});

$j('.droppable-cell').each(function()
{
    $j(this).droppable({
        addClasses: false,
        activeClass: 'droppable-cell-candrop',
        hoverClass: 'droppable-cell-hover',
        tolerance: 'pointer',

        drop: function(event, ui)
        {
            //function to save change
        });
    });
});

Beachten Sie, dass dies ist, vereinfacht, gekürzt und unfertigen code.

Mein problem ist, dass in FX, Safari, Chrome, etc (also alle anständigen Browser) einwandfrei.

IE wirklich kämpfen obwohl. Mit einer 5x5-Tabelle, DH die Verzögerung am Anfang ein ziehen bemerkbar. Auf einer 10x10-Tabelle mit vielleicht 100 Elemente, die den start des drag-hängt der browser.

Will ich auch können zur Unterstützung von bis zu Runde 20x15 Zellen und vielleicht bis zu 500 Artikel - ist das einfach nur unmöglich? Es scheint nicht, wie es sein sollte.

Mache ich etwas falsch? Gibt es eine Möglichkeit, dies zu tun, der nicht langsam die Seite im IE so?

  • ich bin auch mit genau diesem problem. großen Tisch, verschachtelte divs innerhalb der Tabelle. firefox rendert die Seite innerhalb von 10 Sekunden, der ie rendert die Tabelle nach einer Wartezeit von 2 Minuten. firefox noch Reißverschlüssen zusammen mit teh ziehen und dtop, dh krabbelt.. infact, es friert, und die drag-and-drop sdoes nicht funktionieren. werde versuchen, einige der folgenden Lösungen. die Feste Breite, und die #id tagname.class Referenzen. Aber ich fürchte, dass es immer noch langsam sein. wenn jemand anderes hat einige gute i deas, ich wäre ganz Ohr.
  • Yeah - meine Lösung war, zu begrenzen, DH der Benutzer - Sie können nur wählen Sie eine winzige Teilmenge der Zeilen und Spalten, FX und Chrome-Nutzer können. Selbst dann IE8 nur meistert, vielleicht mit 25 Zellen (5x5-raster), 7 und 6 bleiben hoffnungslos. Es bringt Erinnerungen zurück, der Ende der 90er Jahre die web-Entwicklung und ist eine hässliche Sache zu tun, aber was können Sie tun, wenn Ihr browser so schlecht?
  • Mit demselben Problem, der IE ist super langsam mit großen raster, aber Chrome und Firefox sind in Ordnung.
InformationsquelleAutor Keith | 2009-02-24
Schreibe einen Kommentar