I had a similar problem before (not droppable divs, but too many divs affecting performance). For us, the solution was to reuse divs as they scrolled off the screen, since you wonβt have anywhere near so many divs if you only have the ones that are currently displayed, and a few more for scroll up / down. Of course, it was a little easier for us, because it was controlled with a remote control that could only move one screen at a time, and it did not have to take into account the click of random places on the scroll bar, but it could still be of some use for you. If the above explanation is not clear enough, it works something like this:
| [spare divs] | ----------------- | [buffered divs for page-up] | ----------------- | [divs currently on screen] | ----------------- | [buffered divs for page-down] | ----------------- | [spare divs] | -----------------
Now every time you scroll, you fill in all the divs that are now on the page with the data you need, then sort the buffers, leaving all the other divs empty. In your case, instead of changing the data, you can leave with turning on / off.
source share