CSS3D Transforms: потеря интерактивности элементов - PullRequest
1 голос
/ 29 сентября 2011

Я создаю 3D-куб, который можно вращать с помощью клавиш управления. Но после поворота части каждой грани теряют интерактивность (события мыши не регистрируются на содержащихся элементах). Кто-нибудь знает, что может вызвать эту проблему?

Сложно объяснить, поэтому вот ссылка на тестовый сайт:

http://joe -morgan.net / проекты / matrix3d ​​/

Конечно, работает только в Safari и Chrome.

Джо Морган

1 Ответ

2 голосов
/ 24 октября 2012

Джо, что происходит, у вас есть два элемента с одинаковой координатой z.А именно, <li class="cube active"> и <section> грани внутри него.

Здесь мы говорим не о z-индексе css, а о переведенной z-координате css3.

Когда браузер встречает две плоскости, занимающие буквально одно и то же точное пространство, вещи могут запутаться.

Поскольку вы не хотите, чтобы элемент li скрывал событие при наведении курсора на вашем кубе, вам следует изменить CSS «активных» классов.В строке 77 файла main.js вы задаете его с помощью кода:

vars.activeCube.css("-webkit-transform", action);

Быстрое решение проблемы - создать переменную "action2", в которой будет храниться тот же самый matrix3d, что и в main.js, но переведенный-1px в координате z.Установите css с помощью vars.activeCube.css("-webkit-transform", action2);, и все должно работать как положено.

Дайте мне знать, если это решит вашу проблему

...