哪里可以找到jstree jquery插件图片?

时间:2010-08-16 11:21:01

标签: jquery image jstree

我正在尝试jstree,jquery插件来创建树视图。它工作正常,但我无法得到它的一些内部工作。一个(看似)简单的事情就像疯了一样困扰我:文件夹图标等的图像来自哪里?我的意思是,即使我没有定义主题,结果中的文件夹仍然有默认图标。如果我将主题改为苹果,那么图标就会改变。但我不知道这些图像来自哪里。我希望在主题css文件中找到对它们的引用,但我没有。

如果有人能够解释这一点,并且最好指出他们以及如何参考和更改它们,我将不胜感激!具体来说,我希望能够更改图标,以便关闭文件夹有一个图标,打开文件夹有另一个图标。

1 个答案:

答案 0 :(得分:3)

jsTree将核心CSS注入到页面中,如果您查看源代码,您将看到它...默认情况下,它使用默认主题,并查找相对于.js位置的图像。

您可以在此处http://code.google.com/p/jstree/source/browse/trunk/jquery.jstree.js#259

看到它在此处执行此操作

同样在源代码中,您还会看到设置图标的各种插件,只需浏览url(的源代码即可查看所有这些内容。


至于图像本身,主题图标总是有一个名为d.png的图像文件,所有图标都是从这里拉出来的,它是CSS sprite map,例如让我们看一下苹果图标:< / p>

.jstree-apple ins { background-image:url("d.png"); background-repeat:no-repeat; }

对于每个<ins>元素,它设置背景,然后对于各种类型的节点,它只是调整精灵地图的位置,例如:

.jstree-apple .jstree-open > ins { background-position:-72px 0; }
.jstree-apple .jstree-closed > ins { background-position:-54px 0; }
.jstree-apple .jstree-leaf > ins { background-position:-36px 0; }

这就是CSS精灵的工作方式,你使用一个图像并查看它的一小部分......不同的图标与图标大小相同,只是从图像的不同位置开始。