IE에서 성능이 좋은 UI 코드를 얻는 데 문제가 있습니다.IE의 테이블에서 jQuery UI 성능 문제가 발생했습니다.
나는 값의 매트릭스 인 테이블을 가지고 있습니다. 각 셀은 비어 있거나 항목 목록을 보유 할 수 있습니다.
사용자가 셀간에 항목을 드래그 할 수있게하려고합니다.
그래서 내 HTML과 같은 : 절단 및 미완성
$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
});
});
});
참고이 단순화된다, 그런 다음 내가 jQuery를 1.3.1와 jQuery를 UI의 1.6rc6를 사용하고
<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>
암호.
내 문제는 FX, Safari, Chrome 등 (모든 괜찮은 브라우저)에서 제대로 작동한다는 것입니다.
IE는 정말 어려움을 겪습니다. 5x5 테이블을 사용하면 드래그 시작시 IE의 지연이 눈에.니다. 어쩌면 100 개 항목이있는 10x10 표에서 드래그 시작으로 브라우저가 중단됩니다.
최대 20x15 셀을 지원할 수 있고 최대 500 개의 항목을 지원할 수 있기를 원합니다. 그것이 있어야하는 것처럼 보이지 않습니다.
내가 잘못 했나요? 이 같은 IE에서 페이지를 느리게하지 않는 방법이 있나요?
나는 또한이 정확한 문제가 있습니다. 큰 테이블, 테이블 내의 중첩 된 div. 파이어 폭스는 10 초 이내에 페이지를 렌더링합니다. 즉, 2 분간 기다린 후에 테이블을 렌더링합니다. 파이어 폭스 여전히 teh 드래그와 dtop, 즉 크롤링과 함께 지퍼. 사실 그게 얼어, 드래그 앤 드롭 sdoes 작동하지 않습니다. 아래의 몇 가지 해결책을 시도 할 것입니다. 고정 너비 및 #id tagname.class 참조가 있습니다.그러나 나는 그것이 여전히 느릴 것이라고 두려워한다. 누구든지 좋은 데다 있다면, 나는 모든 귀가 될 것입니다. – Bingy
예 - 내 솔루션은 IE 사용자를 제한하는 것입니다. FX 사용자와 Chrome 사용자가 할 수있는 행과 열의 하위 집합 만 선택할 수 있습니다. 그럼에도 불구하고 IE8은 단지 25 개의 셀 (5x5 격자) 만 처리 할 수 있습니다. 7과 6은 절망적입니다. 90 년대 후반 웹 개발에 대한 추억을 되살려주고 추한 일이지만, 브라우저가 너무 가난한 경우 어떻게 할 수 있습니까? – Keith
같은 문제가있어서 Internet Explorer는 대용량 그리드에서 느려지지만 Chrome과 Firefox는 정상입니다. –