Модификатор Famo.us для эффективного выполнения `display: none;`

Можно ли создать Modifier или StateModifier, которые эффективно удалят все свои дочерние элементы из DOM или превратят их в display: none;/ pointer-events:none?

Я пробовал с модификатором и делал setOpacity(0);, но я хочу, чтобы все поверхности ниже также не получали события щелчка.

Спасибо!


person Alex    schedule 08.07.2014    source источник


Ответы (1)


В настоящее время невозможно распространить свойства CSS из модификаторов на поверхности.

Это ваши варианты:

  • Используйте непрозрачность 0 и переместите с Z-индексом далеко назад или переведите далеко за пределы экрана.

  • Используйте ContainerSurface — это углубляет DOM, но вы можете манипулировать содержащим DIV с display: none.

  • Проверьте модификатор Fader. Есть опция cull. При значении true он удаляет узел из дерева рендеринга.

  • Показать/скрыть узел - но это может привести к снижению производительности. См. обсуждение здесь или скачайте модификатор показа здесь.

См. также этот вопрос Stack Overflow об удалении узлов рендеринга.

person markmarijnissen    schedule 08.07.2014
comment
Круто, несколько хороших вариантов. Далеко от экрана - лучшее решение для меня на данный момент. Спасибо! - person Alex; 08.07.2014
comment
Вариант отбраковки кажется наиболее популярным способом сделать это. Спасибо. - person King Friday; 05.03.2015