要在jQuery Tree中實現節點展開動畫,您可以使用animate()
方法。以下是一個示例代碼,展示了如何為樹節點添加展開動畫:
首先,確保您已經在HTML文件中包含了jQuery庫和jQuery Tree插件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery Tree with Expand Animation</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css">
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-tree/1.0.0/jquery.tree.min.js"></script>
</head>
<body>
<ul id="tree">
<li>Node 1
<ul>
<li>Node 1.1</li>
<li>Node 1.2</li>
</ul>
</li>
<li>Node 2</li>
<li>Node 3
<ul>
<li>Node 3.1</li>
</ul>
</li>
</ul>
<script>
$(function() {
$("#tree").tree({
expand: function(node) {
$(node.target).find("ul").slideDown(300, function() {
// 動畫完成后,更新樹結構
node.update();
});
}
});
});
</script>
</body>
</html>
在這個示例中,我們首先創建了一個基本的HTML結構,包含一個無序列表<ul>
作為樹的根節點。然后,我們使用jQuery選擇器$("#tree")
選中這個列表,并調用tree()
方法將其轉換為一個樹形結構。
在tree()
方法的選項對象中,我們定義了一個名為expand
的函數。當用戶點擊一個節點以展開它時,這個函數會被調用。在這個函數內部,我們首先使用find()
方法找到當前節點的子列表<ul>
,然后調用slideDown()
方法將其展開。slideDown()
方法接受兩個參數:第一個參數是動畫持續時間(以毫秒為單位),第二個參數是一個回調函數,當動畫完成后會被調用。
在回調函數內部,我們調用node.update()
方法更新樹結構。這樣,當節點展開動畫完成后,樹結構也會相應地更新。