我的页面中有一个层次结构标记(带有父子关系),它将占用500 - 4500(甚至可以增长)。当我绑定了draggable和droppable时,我在IE7和IE6中看到了非常糟糕的性能。定制助手不会顺利移动,非常慢。基于其他一些帖子,我已经使droppable在mouseover和mouseout事件上被绑定/解除绑定(动态)。它现在更好。
但是我仍然没有看到自定义助手移动非常顺利,鼠标光标和助手移动时会有间隙,当我从远程访问该网站时会变得非常糟糕。
请帮我解决这个性能问题。我完全被困在这里.. :(
答案 0 :(得分:1)
尝试在任何给定时刻减少可投放的数量。没有其他办法。
一种策略是将drop目标组合到divs绑定的组中,并将此div的子节点绑定为droppables,仅在此父div的鼠标输入中并在鼠标离开时取消注册。
答案 1 :(得分:1)
我之前遇到过类似的问题(不是可放弃的div,但有太多的div会影响性能)。对我们来说,解决方案是重新使用div,因为它们在屏幕外滚动,因为如果你只有当前在视图中的那些并且还有一些可以向上/向下滚动,那么你将没有任何数量的div。当然,它对我们来说有点容易,因为它是使用遥控器控制的,一次只能移动一个屏幕,而不必考虑点击滚动条上的随机位置,但它可能仍然是对你有用处如果上面的解释不够清楚,它的工作原理如下:
| [spare divs]
| -----------------
| [buffered divs for page-up]
| -----------------
| [divs currently on screen]
| -----------------
| [buffered divs for page-down]
| -----------------
| [spare divs]
| -----------------
现在无论何时滚动,您都可以使用所需数据填充页面上现在的所有div,然后对缓冲区进行排序,将任何其他div留空。在您的情况下,您可以通过切换可放置的开启/关闭来避免更改数据。