jstree和java脚本的新手。需要创建一个jstree,当点击一个节点时,我需要加载一个图像。单击不同的节点应加载不同的图像。到目前为止,我有这个:
<html>
<head>
<title>Tree</title>
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="jquery.jstree.js"></script>
<Script type="text/javascript">
$(document).ready(function(){
$("#test1").jstree({
"xml_data" : {
"ajax" : {
"url" : "/URL/tree.xml
},
"xsl" : "nest"
},
"plugins" : ["themes", "xml_data", "ui","types"]
});
});
</Script>
</script>
</head>
<body>
<div id='tree.xml1'></div>
</body>
</html>
答案 0 :(得分:0)
你问了一口,但我想这会对你有所帮助。这基于您提供的代码:
<html>
<head>
<title>Tree</title>
<link href="jqueryUI/css/ui-lightness/jquery-ui-1.8.19.custom.css" rel="stylesheet" type="text/css">
<script src="jquery-1.7.1.js"></script>
<script src="jqueryUI/js/jquery-ui-1.8.19.custom.min.js"></script>
<script type="text/javascript" src="jstree/jquery.jstree.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#test1").jstree({
"html_data" : {
"data" : "<li id='root'><a href='#'>My Images</a><ul>" +
"<li id='image1.png'><a href='#'>Image 1</a></li>" +
"<li id='image2.png'><a href='#'>Image 2</a></li>" +
"<li id='image3.png'><a href='#'>Image 3</a></li>" +
"</ul></li>"
},
"plugins" : ["themes", "html_data", "ui","types"]
}).bind("select_node.jstree", function (event, data) {
$("#imageDisplay").html("Load " + data.rslt.obj.attr("id") + " here");
});
});
</script>
</head>
<body>
<table>
<tr><td><div id='test1'></div></td>
<td><div id='imageDisplay'></div></td>
</tr>
</table>
</body>
</html>
显然,此代码没有实际显示的图像,但我相信你可以填写空白。另请注意,我使用“html_data”插件而不是“xml_data”,因为我不知道您的XML文件是如何格式化的。
答案 1 :(得分:0)
由于您提前知道图像名称和ID,为什么不在CSS中执行此操作?无需编程,图像更新全部在css文件中完成。
#f_def.jstree-open > a > ins{
background: url("../images/f_def.png") no-repeat scroll 0px 0px transparent ! important;
}
#f_def.jstree-open > a > ins,
#f_def.jstree-open > a{
width:100px;
height:100px;
}
#f_def.jstree-closed > a > ins {
/* Use Default Icon for closed */
}