2012-11-25 48 views
1

我正在構建一個自定義公司層次結構,並且需要能夠在公司圖表中「提升」一個Div。我將觸發器作爲每個div內的跨度進行設置。點擊事件設置爲查找父div並將其與前一個div交換。我有工作得很好的問題是:重置節點順序和隱藏event.srcElement

  1. 我需要的文檔中的「重置」節點的順序在此之後,以使後續互換熄滅的新秩序,而不是在已存在的順序負載。

  2. 我需要查找換出的div落入組中的位置,以及是否隱藏包含向上按鈕的跨度系列中的第一個。我可以想象一些與此邏輯:

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

我知道的語法都錯了,但我與JS總的n00b。所以請給我指出正確的方向。

這是我現在使用的代碼。如果我將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> 

回答

0

這裏是你的選擇

1)服務器端代碼+ DB:

如果你想整個組織觀看了「新結構」,你將不得不使用一個數據庫和服務器端碼。您無法使用客戶端JavaScript編輯實際的文件。

2)的localStorage:

如果它只是你使用它,你可以保存在localStorage的數據,並在每次加載頁面時訪問結構。