Mam problemy z uzyskaniem kodu UI w ogóle w IE.Problemy z wydajnością interfejsu jQuery UI z tabelą w IE
Mam tabelę - macierz wartości. Każda komórka może być pusta lub zawierać listę przedmiotów.
Chcę, aby użytkownicy mogli przeciągać elementy między komórkami.
Więc moim HTML wygląda mniej więcej tak:
<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>
Następnie używam jQuery 1.3.1 i 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
});
});
});
pamiętać, że jest uproszczony, obcięty i niedokończone kod.
Mój problem polega na tym, że w FX, Safari, Chrome itp. (Tj. Wszystkie przyzwoite przeglądarki) działa to dobrze.
IE naprawdę walczy. Przy 5x5 tabeli widoczne jest opóźnienie IE na początku przeciągania. Na stole 10x10 z około 100 pozycjami początek przeciągnięcia zawiesza przeglądarkę.
Chcę być w stanie obsłużyć do rundy 20x15 komórek i może do 500 elementów - czy to po prostu niemożliwe? Wygląda na to, że nie powinno tak być.
Czy robię coś nie tak? Czy istnieje sposób, aby to zrobić, że nie spowalnia stronę w IE w ten sposób?
Mam również dokładnie ten problem. duża tabela, zagnieżdżone elementy div w tabeli. firefox renderuje stronę w ciągu 10 sekund, tzn. renderuje tabelę po odczekaniu 2 minut. firefox nadal zipuje razem z opcją drag and dtop, czyli przeszukuje ... infact to zawiesza się, a drag and drop nie działa. Zamierzam wypróbować niektóre z poniższych rozwiązań. o stałej szerokości i odwołaniach do zmiennej #id.Ale obawiam się, że nadal będzie wolno. jeśli ktokolwiek ma jakieś dobre i deas, byłbym wszystkimi uszami. – Bingy
Tak, moim rozwiązaniem było ograniczenie liczby użytkowników IE - mogą wybrać tylko niewielki podzestaw wierszy i kolumn, które mogą wykorzystać użytkownicy FX i Chrome. Nawet wtedy IE8 tylko radzi sobie z 25 komórkami (siatka 5x5), 7 i 6 pozostają beznadziejne. Przywraca wspomnienia z późnych lat 90. i jest brzydką rzeczą do zrobienia, ale co jeszcze można zrobić, jeśli ich przeglądarka jest tak marna? – Keith
Mając ten sam problem, IE jest super wolny z dużą siatką, ale Chrome i Firefox są w porządku. –