I ran into the same problem, but with horizontal list. In my case,
there are 3 rows containing 20 - 30 small icons (20 x 20px). In both
versions, 1.7 and 1.7.1_beta3 the "shakeyness" starts after about the
6th or 7th icon. It seems that the error in the calculation for the
drop position in dropOnEmpty gets larger and larger when there are
more items in the row. At the 10th icon it's about 25px left from the
cursor, at the 20th icon - about 65px, etc.

With the (child == null) fix, most icons behave properly, except the
last 3-4. That comes from the same error in calculating the drop
position, as when you hover over 1 or 2 icons before the last,
dropOnEmpty calculated position is 80-90px left, so (child == null)
fires.

Unfortunately I'm not that good in js and can't find where this error
comes from (everything in the code looks good). As a workaround I've
made a hidden last element with width:100px; float:right; margin-
right:-110px; that compensates for the error and stops the
"shakeyness" of the last few elements.

Gareth, the (children.length == 0) didn't work for me. It just
disabled the dropOnEmpty functionality. Perhaps the markEmptyPlace and
createGuide don't work well in horizontal alignment. It also made
dragging/hovering slower in IE6.

On Jun 14, 12:23 am, "Gareth Evans" <[EMAIL PROTECTED]> wrote:
> Oops... attacfhed
>
> On 6/14/07, Gareth Evans <[EMAIL PROTECTED]> wrote:
>
>
>
> > Okay, so a bit more digging around... something appears to be weird with
> > the offset calcuations.
> > From my observations, the onHover handler and the onEmptyHover handler get
> > fired.
> > They both calculate where to insert an item, and one of them calculates it
> > differently to the other.
> > This results in the 'jitterbug' i've referred to.
> > The patch earlier described (and documented on trac, but its actually a
> > patch for some other tree functionality) shows a if (child == null)
> > conditional around the final 'insert' statements.
> > Because of this, I *think* that the for loop that appears above this if is
> > not actually required and it's sufficent to just check children.length ==
> > 0.
> > Meaning, if there are no children elements then we want the onEmptyHover
> > to insert the element.
> > I'm not very familiar with the intricacies of Sortable, other than what
> > i've played with to get this working, but when I check children.length ==
> > 0 instead of having the for loop using offsets to identify if where the item
> > should go, the 'jitter' effect goes away for me.
> > As previously mentioned, both onHover and onEmptyHover fire when i'm doing
> > a drag with dropOnEmpty:true.
>
> > I'm trying to figure out what i've broken by removing the offset
> > calculation, and if it's going to be an issue for anything else I might do
> > with Sortable later in my developments.
>
> > Could one of the scripty gods read this thread and advise?
>
> > I'll attach a shortened version of my new dropOnEmpty code, which has some
> > other modifications to allow a 'marker' element, from Tankut Koray, and
> > myself to make his code conditional.
> > I haven't touched made any modifications to scripty base 
> > dragdrop.jsfunctions other than onEmptyHover but
> > unMark, onHover have been changed by Tankut, and markEmptyPlace and
> > createGuide have been created by him. I've since added if statements before
> > his code to read an options setting so I can turn his functionality off (I
> > only need it on one page)
>
> > This issue has been driving me mad for weeks so it'd be good to get this
> > stuff sorted.
>
> >http://dev.rubyonrails.org/ticket/7807
> > This patch is similar but doesn't quite fix the functionality in my app...
> > for some reason.
> > (It adds the if (child==null) which worked for junkmate's app, but didn't
> > work for mine, I had to go to the children.length == 0)
>
> > Gareth
>


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Spinoffs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-spinoffs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to