重置节点顺序和隐藏event.srcElement

时间:2012-11-25 23:45:11

标签: javascript javascript-events swap autoresetevent

我正在构建一个自定义的公司层次结构,并且需要能够在公司图表中“提升”一个Div。我将触发器作为每个div内部的跨度。 click事件设置为查找父div并将其与前一个div交换。我的工作正常,问题是:

  1. 我需要在此之后“重置”文档中节点的顺序,以便后续的交换离开新订单而不是加载时存在的顺序。

  2. 我需要查找交换的div落在组内的位置,以及是否是隐藏包含up按钮的span的系列中的第一个。我会用这种逻辑想象一下:

    if(event.srcElement.parent().prev() = Null { 
        event.srcElement.parent().hide() 
    }; else { 
        return false;
    };
    
  3. 我知道语法是错误的,但是我总是使用js的n00b。所以请指出我正确的方向。

    这是我现在正在使用的代码。如果我将3个元素的顺序从1,2,3交换到2,1,3你会认为单击3上的交换会将它切换为现在之前的1,但是它会将其与2交换,在pageload之前的元素。

    <script type="text/javascript">
    
    $(document).ready(function() {  
    
        $(".go-swap").click(function() {  
            $(this).parent().parent().prev().swap({  
                target: (this).parentNode.parentNode.id, 
                opacity: "0.5", 
                speed: 1000, 
                callback: function() { 
                event.srcElement.parent().hide()
                } 
            });  
        });  
    });  
    </script>
    
    <div class="known" id="A101">
        Contact 1
        <span class="plus">
            <a href="javascript://" class="go-swap"><img src="images/uparrow.gif" border="0" /></a>
        </span>
     </div>
     <div class="known" id="A102">
        Contact 2
        <span class="plus">
            <a href="javascript://" class="go-swap"><img src="images/uparrow.gif" border="0" /></a>
        </span>
     </div>
     <div class="known" id="A103">
        Contact 3
        <span class="plus">
            <a href="javascript://" class="go-swap"><img src="images/uparrow.gif" border="0" /></a>
        </span>
     </div>
    

1 个答案:

答案 0 :(得分:0)

以下是您的选择

1)服务器端代码+ db:

如果您希望整个组织查看“新结构”,则必须使用数据库和服务器端代码。您无法使用客户端javascript编辑实际文件。

2)localstorage:

如果您只是使用它,则可以将数据保存在localstorage中,并在每次加载页面时访问该结构。