I had searched that for a long time, but I get nothing.If someone has
any idea ,please talk about it.I know JQuery has that function and in
google homepage they does the same thing.
If you drag a block which includes a iframe element,the iframe element
will reload when sortable object checks the dropon.
dropon.insertBefore(element, child);
this statement make change the dragable element''s position, so iframe
will reload because it is created again.
here is the code in dragdrop.js.
onHover: function(element, dropon, overlap) {
if(Element.isParent(dropon, element)) return;
if(overlap > .33 && overlap < .66 &&
Sortable.options(dropon).tree) {
return;
} else if(overlap>0.5) {
Sortable.mark(dropon, ''before'');
if(dropon.previousSibling != element) {
var oldParentNode = element.parentNode;
element.style.visibility = "hidden"; // fix gecko rendering
dropon.parentNode.insertBefore(element, dropon);
if(dropon.parentNode!=oldParentNode)
Sortable.options(oldParentNode).onChange(element);
Sortable.options(dropon.parentNode).onChange(element);
}
} else {
Sortable.mark(dropon, ''after'');
var nextElement = dropon.nextSibling || null;
if(nextElement != element) {
var oldParentNode = element.parentNode;
element.style.visibility = "hidden"; // fix gecko rendering
dropon.parentNode.insertBefore(element, nextElement);
if(dropon.parentNode!=oldParentNode)
Sortable.options(oldParentNode).onChange(element);
Sortable.options(dropon.parentNode).onChange(element);
}
}
},
onEmptyHover: function(element, dropon, overlap) {
var oldParentNode = element.parentNode;
var droponOptions = Sortable.options(dropon);
console.log(dropon);
console.log(element);
console.log(overlap);
console.log(Element.isParent(dropon, element));
if(!Element.isParent(dropon, element)) {
var index;
var children = Sortable.findElements(dropon, {tag:
droponOptions.tag, only: droponOptions.only});
var child = null;
if(children) {
var offset = Element.offsetSize(dropon, droponOptions.overlap)
* (1.0 - overlap);
for (index = 0; index < children.length; index += 1) {
if (offset - Element.offsetSize (children[index],
droponOptions.overlap) >= 0) {
offset -= Element.offsetSize (children[index],
droponOptions.overlap);
} else if (offset - (Element.offsetSize (children[index],
droponOptions.overlap) / 2) >= 0) {
child = index + 1 < children.length ? children[index +
1] : null;
break;
} else {
child = children[index];
break;
}
}
}
dropon.insertBefore(element, child);
Sortable.options(oldParentNode).onChange(element);
droponOptions.onChange(element);
}
},
On May 17, 7:11 am, Jim Geurts
<jgeu...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
wrote:> Hey all,
>
> I''m working with sortables and I''m attempting to
show/outline where
> the object being sorted will be dropped. is there an easy way to do
> this? I see the ''hoverclass'' property, but that only
lets me modify
> the droppable object, not the actual location within the droppable.
>
> Thanks for any help
>
> Jim
--~--~---------~--~----~------------~-------~--~----~
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
rubyonrails-spinoffs-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-spinoffs-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-spinoffs?hl=en
-~----------~----~----~----~------~----~------~--~---