Framer.js: как вы получаете "предыдущий" слой?
В Framer Studio (Coffeescript) всякий раз, когда я щелкаю слой, он копируется в другой (если хотите, это своего рода слой "контрольного списка"). Я пытаюсь добавить скопированный слой прямо под предыдущим, который был нажат. Как бы Вы это сделали? Как получить предыдущий слой, который был нажат? Это вообще возможно?
Большое спасибо за Вашу помощь.
С наилучшими пожеланиями,
1 ответ
Решение
Я думаю, что это может быть двумя способами.
Первый способ использует subLayers
и список подслоев зависит от времени добавления.
bg = new BackgroundLayer
upper = new Layer
width: 750, backgroundColor: "red", superLayer: bg
lower = new Layer
width: 750, y: 100, backgroundColor: "blue", superLayer: bg
lower.on Events.Click, (e, layer) ->
parent = layer.superLayer
index = parent.subLayers.indexOf layer
prev = parent.subLayers[index-1] if ~index
print prev
Другой способ более прост. Сохраните слои в массив и найдите в них.
layers = [new Layer, new Layer(x:150)]
layers[1].on Events.Click, (e, layer) ->
index = layers.indexOf layer
prev = layers[index-1] if ~index
print prev