2013-10-18 47 views
2

我正在測試Jquery Treeview並找到一個我找不到的錯誤。Jquery Treeview切換問題

Fiddle here

什麼似乎情況是,切換是越來越亂了第一,第二級窩。

爲了測試......去撥弄,單擊全部摺疊然後全部展開,你會看到不正確展開節點,但它的+圖標變爲一個 - 圖標,這樣在是正確的最小。

這是一個已知的錯誤嗎?它也發生在他們的演示中。

我知道有更近的插件自稱做同樣的事情,但我喜歡這種簡單(假設我可以化解這個bug是!)

我敢肯定的是錯誤並且猜測它不能正確遞歸:

// handle toggle event 
     function toggler() { 
      $(this) 
       .parent() 
       // swap classes for hitarea 
       .find(">.hitarea") 
        .swapClass(CLASSES.collapsableHitarea, CLASSES.expandableHitarea) 
        .swapClass(CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea) 
       .end() 
       // swap classes for parent li 
       .swapClass(CLASSES.collapsable, CLASSES.expandable) 
       .swapClass(CLASSES.lastCollapsable, CLASSES.lastExpandable) 
       // find child lists 
       .find(">ul") 
       // toggle them 
       .heightToggle(settings.animated, settings.toggle); 
      if (settings.unique) { 
       $(this).parent() 
        .siblings() 
        // swap classes for hitarea 
        .find(">.hitarea") 
         .replaceClass(CLASSES.collapsableHitarea, CLASSES.expandableHitarea) 
         .replaceClass(CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea) 
        .end() 
        .replaceClass(CLASSES.collapsable, CLASSES.expandable) 
        .replaceClass(CLASSES.lastCollapsable, CLASSES.lastExpandable) 
        .find(">ul") 
        .heightHide(settings.animated, settings.toggle); 
      } 
     } 
     this.data("toggler", toggler); 

回答

2

只需檢查鏈接http://www.dynamicdrive.com/dynamicindex1/treeview/demo/index.html。在這裏他們沒有使用cookie來保存崩潰和擴展數據。這就是爲什麼它的工作完美。如果我們使用cookie,那麼它們的崩潰和擴展是不一致的。

只需更改 $(「。treeview」)。treeview({0};} {#};}}; 。 隨着

$( 「樹視圖」)樹視圖({ 控制: 「#treecontrol」, 動畫: 「快速」 });

然後看,它的工作完美

+0

這很好,即使堅持,所以謝謝!但是,使用動畫片是一種痛苦......即使是在快速的情況下,它仍然不夠好看,並且像沒有動畫一樣乾淨。有沒有辦法解決這個問題?要製作動畫瞬間? –

+0

您只需使用數字值調整動畫參數。說「動畫:0」應該不是動畫。 「動畫:1000」的動畫速度非常慢。我認爲它爲你工作。 –

+0

不,不起作用恐怕 –