On 15 Okt., 16:35, scottnath <[EMAIL PROTECTED]> wrote:
> I am trying to create draggable/droppable tabs. I've got it partly
> built, but I'd love some community input on this.
>
> A working model can be seen here:
>
> http://scottnath.com/tabs/draggable_tabs.html
>
> Below I will paste the jquery code I'm using. First, here are some
> issues I'm running into that I really need some help with:
>
> 1) tabs can only be moved once
> 2) moving tabs from left-to-right works, but not vice/versa
> 3) I'm having trouble figuring out the dragged tabs original index
>
> jQuery code:
>
> $(document).ready(function(){
>         bindBehavior();});
>
> function bindBehavior(){
>         $("#left_left > ul").tabs();
>         $("#left_right > ul").tabs();
>         $(".draggableItem").Draggable({
>                 revert:         true
>         });
>         $(".tabsList").Droppable({
>                 accept: "draggableItem",
>                 ondrop: function (drag){
>                         var thisId = $(this).attr("id");
>                         // gets the id of the container that the draggable's 
> tab content
> should end up in
>                         var thisParent = $(this).parent().attr("id");
>                         // gets the moved tab id by using the href
>                         var dragAHref = $(drag).children("a").attr("href");
>                         // remove the leading # sign
>                         var dragTabId = dragAHref.substring(1);
>                         // gets the clickable-tab content
>                         var dragAContent = $(drag).children("a").text();
>                         // gets the id of the container that the draggable's 
> tab content
> resides in
>                         var dragParent = $("#"+dragTabId).parent().attr("id");
>                         // if it didn't move to a new spot, do nothing
>                         if(dragParent == thisParent){
>                                 return;
>                         }
>                         // finds the htmlobject that is the dragged LI's 
> corresponding tab
>                         var dragTab = $("#"+dragTabId).get(0);
>                         // gets tab LI index
>                         var dragIndex = $("li.draggableItem").index(drag);
>                         // next: put content of tab into newly created tab
>                         var movedTabContent = $("#"+dragTabId).html();
>                         // for some reason, the index seems to come out one 
> too many
>                         dragIndex--;
>                         // remove the tab from where it came from
>                         $("#"+dragParent+ " ul").tabsRemove(dragIndex);
>                         // add this tab to where it was dragged
>                         $("#"+thisId).tabsAdd('#'+dragTabId, dragAContent);
>                         // need to add this class
>                         $("#"+dragTabId).addClass('tabContent');
>                         // populate the tab-div
>                         $("#"+dragTabId).html(movedTabContent);
>
>                         bindBehavior();
>                 }
>         });
>
> }
>
> Thank you to anyone who can help. I really appreciate it.
>
> Scott Nath

Are you trying to move tabs from one set to another or inside its set
only?


--Klaus

Reply via email to