Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Mif.Tree и нуб (https://javascript.ru/forum/dom-window/7612-mif-tree-i-nub.html)

Ice_Haron 10.02.2010 16:05

Mif.Tree и нуб
 
Здравствуйте, я совсем новичок в JS, не умею почти ничего, возникла потребность в использовании Mif.Tree:
http://mootools.net/forge/p/mif_tree

скачал архив, там в папочке Demos как бы должны лежать Демки на различные виды и функции этого самого мифтри, но при открытии html из любой демки просто вываливается пустой квадратик и никакого дерева внутри него нет, затолкал я на сайт для примера самый просто SimpleTree, накидал в папочку ЖСников которые в архиве лежат, вписал в скрипт для страницы текстик из демки, возникли 2 ошибки сначала: initSelection и initHover is not a function, они решились простым убиранием скобочек при их использовании (уж не знаю насколько это фатально для скрипта), но потом появилась такая странная проблема: tree.load is not a function, текст:

window.addEvent('domready',function(){
	tree = new Mif.Tree({
		container: $('tree_container'),// tree container
		types: {// node types
			folder:{
				openIcon: 'mif-tree-open-icon',//css class open icon
				closeIcon: 'mif-tree-close-icon'// css class close icon
			}
		},
		dfltType:'folder',//default node type
		height: 18//node height
	});

	var json=[
		{
			"property": {
				"name": "root"
			},
			"children": [
				{
					"property": {
						"name": "node1"
					}
				},
				{
					"property": {
						"name": "node2"
					},
					"state": {
						"open": true
					},
					"children":[
						{
							"property": {
								"name": "node2.1"
							}
						},
						{
							"property": {
								"name": "node2.2"
							}
						}
					]
				},
				{
					"property": {
						"name": "node4"
					}
				},
				{
					"property": {
						"name": "node3"
					}
				}
			]
		}
	];
	
	// load tree from json.
	tree.load({
		json: json
	});
	
});


крашится в самом конце на tree.load({json: json});

убираю скобки вместе с содержимым - ошибка уходит, но пустое поле для дерева остается (кажется понятно почему, ведь содержимое туда и не уходит)

Помогите новичку пожалуйста, у меня мыслей нет вообще...

Riim 11.02.2010 07:28

Что за json ? Объявлен?

Ice_Haron 11.02.2010 10:20

14 строка же

Gozar 11.02.2010 10:21

Цитата:

Сообщение от Ice_Haron (Сообщение 44322)
Здравствуйте, я совсем новичок в JS, не умею почти ничего, возникла потребность в использовании Mif.Tree:
http://mootools.net/forge/p/mif_tree

скачал архив, там в папочке Demos как бы должны лежать Демки на различные виды и функции этого самого мифтри, но при открытии html из любой демки просто вываливается пустой квадратик и никакого дерева внутри него нет

я сначала подумал что у вас проблема со скриптами.

Извините, но у вас проблема с руками. Все работает в точности как и указано на сайте mootools.

По всей вероятности вам нужно идти и учить язык и особенности браузеров, в общем подучится. Статьи можно почитать здесь:http://javascript.ru/doctree

Gozar 11.02.2010 10:22

Цитата:

Сообщение от Ice_Haron (Сообщение 44466)
14 строка же

там нет ошибок, я проверил все работает. Вы вообще скрипт подключили?

Riim 11.02.2010 10:25

Это вирус во всем виноват :) .

Gozar 11.02.2010 10:42

Цитата:

Сообщение от Ice_Haron (Сообщение 44322)
возникли 2 ошибки сначала: initSelection и initHover is not a function, они решились простым убиранием скобочек при их использовании (уж не знаю насколько это фатально для скрипта), но потом появилась такая странная проблема: tree.load is not a function

Если вы будете менять библиотеки по своему разумению, то сначала поймите что они делают.

зыЖ:Двойка мне за невнимательность, надо было сразу внимательно читать пост. :(

Ice_Haron 11.02.2010 13:55

Так и все же, что мне с этим то скриптом делать? учить жаву то я буду, но эту фиговину надо прикрутить срочно...

Gozar 11.02.2010 14:29

Цитата:

Сообщение от Ice_Haron (Сообщение 44488)
Так и все же, что мне с этим то скриптом делать? учить жаву то я буду, но эту фиговину надо прикрутить срочно...

Язык называйте javascript, JScript, js но не java, это совершенно другой язык. Задавая по десять раз один и тот же вопрос вы не получите на него разные ответы. Я уже вам сказал, что использовать чужие скрипты нужно так как они поставляются, а не урезая их бездумно, в надежде авось заработает. К каждому такому скрипту почти всегда есть документация по использованию, вот её и читайте.

Ice_Haron 11.02.2010 15:16

я примерно понял в чем была моя ошибка насчет селекта и ховера, начал при каждой ошибке в духе is undefined искать и подключать соответствующий скрипт, но нарвался на Mif.Tree.Node, ошибка стандартная: Mif.Tree.Node is undefined
Однако в ХТМЛ я прописал
<script type="text/javascript" src="/js/Mif.Tree.Node.js"></script> (да, он там действительно лежит и называется Mif.Tree.Node.js и фаербаг говорит что он подключается и грузится нормально), внутри него есть
Mif.Tree.Node = new Class({
...
Может, я что-то делаю не так? вроде и подключаю все что дано (кстати в How to Use написан тот самый текст что я в первом сообщении выделил, еще я его выделил в одтдельный js файл и так же в теге <script> его подгружаю)

Подключил уже все данные JSники, а ошибка насчет Node висит... однако дерево грузится все, кроме иконочек папок, которые должы быть около каждого пункта

Ice_Haron 11.02.2010 15:24

Что-то мне подсказывает что нужна какая-то адская софтина или какие-нибудь новенькие модные mootools-...js, уж очень оно непонятно себя ведет...

Gozar 11.02.2010 15:25

Цитата:

Сообщение от Ice_Haron (Сообщение 44497)
Может, я что-то делаю не так?

а что?

Ice_Haron 11.02.2010 15:38

ну, вероятно, объявляю не там или не так, может, какие настройки что-то глушат, вот тут новый прикол появился, при щелчке на любом пункте дерева вылазит новая ошибка node.select is not a function при том что Mif.Tree.Selection подключен и там имеется объявление функции select: function(node) {...

Gozar 11.02.2010 16:07

круто

Ice_Haron 11.02.2010 22:21

Круто то оно круто конечно, только я вот совсем потерялся, и с объявлением косяков нет, и грузится все, классы объявлены, функции прописаны... чего не пахает - непонятно...

Gozar 11.02.2010 22:55

ну тогда можно начать с чистого листа, один из философов говаривал,
- если вы пробовали меньше 50 раз, то значит вы не пробовали совсем. Я в вас верю, удачи :)

Ice_Haron 12.02.2010 15:00

Ну это уже реально демоны какие-то...

Mif.Tree.Node is undefined при открытии страницы, ругается на строку "Mif.Tree.Node.implement({...", дерево грузится, но без картинок папочек, пункты открываются/закрываются, но селект не падает, а именно, не выделяется синим выбранный пункт и при каждом ПКМ или ЛКМ на пункте вылазит ошибка current.select is not a function на строке "current.select(false);", я так понимаю это снятие селекта с предыдущего выбранного элемента...
Печаль состоит в том что и на оффсайте и у вас все работает, а у меня - нет, значит что-то я сделал не так...

moro 18.02.2010 12:31

демки нельзя запускать напрямую, они грузятся через Demos/index.html

надо скачать версию содержащую все файлы объединенные в один с помощью Builder'a, добавить стили(находятся в Source/assets/styles/ ) и все будет работать


Часовой пояс GMT +3, время: 12:35.