Координата Z

Наш рабочий пример про наклейки становится все более и более сложным. Еще одна особенность, которая может стать проблемой, заключается в том, что начальные значения координаты z (zindex) остаются без изменений: одна из наклеек всегда будет выше, а другая всегда ниже. Однако, более естественным было бы, если бы наклейка, выбран ная последней, всегда оказывалась выше, то есть имела бы более высокое значение координаты z. К счастью, изменить координату z можно достаточно просто – в функции, которая соединена с событием onMoveStart.

Решение, представленное ниже, требует изменения логики функции addOnLoad и обладает определенным изяществом благодаря применению замыкания для хранения значения локальной переменной с информацией о состоянии вместо явного использования глобальной переменной уровня модуля:
dojo.addOnLoad(function() {
//создать и сохранить ссылки на перемещаемые объекты
//для последующего использования.
var m1 = new dojo.dnd.Moveable("note1", {handle : "dragHandle1"});
var m2 = new dojo.dnd.Moveable("note2", {handle : "dragHandle2"});
var zIdx = 1; // образует замыкание вместе с этой анонимной функцией
dojo.connect(m1, "onMoveStart", function(mover){
dojo.style(mover.host.node, "zIndex", zIdx++);
});
dojo.connect(m2, "onMoveStart", function(mover){
dojo.style(mover.host.node, "zIndex", zIdx++);
});
});

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Dojo на эту тему:
Взаимодействие со сбрасываемыми объектами
Истинная зона сброса
Ограничение перемещений
Перетаскивание
Простые перемещения

Вернуться в раздел: Dojo / Перетаскивание элементов