1

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

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

  2. 我需要查找交换的 div 在组内的位置,如果它是隐藏包含向上按钮的跨度的系列中的第一个。我会用这个逻辑想象一些东西:

    if(event.srcElement.parent().prev() = Null { 
        event.srcElement.parent().hide() 
    }; else { 
        return false;
    };
    

我知道语法是错误的,但我是 js 新手,所以请指出我正确的方向。

这是我现在正在使用的代码。就目前而言,如果我将 3 个元素的顺序从 1、2、3 交换到 2、1、3,您会认为单击 3 上的交换会将其切换为现在之前的 1,但它会将其与 2 交换,页面加载时它之前的元素。

<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>
4

1 回答 1

0

这是您的选择

1)服务器端代码+d​​b:

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

2)本地存储:

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

于 2012-11-26T01:48:45.913 回答