как внести постоянные изменения в CSS-элементы с -moz-transform? - PullRequest
0 голосов
/ 07 июня 2011
        var transform = ['scale(' + scale + ')'];
        $.merge(transform, ['rotate(' + rotate + 'deg)']);
        $(this).css(-moz-transform, transform.join(' '));

этот блок кода выполняется, когда генерируется событие, новое масштабирование и поворот добавляются к элементу css, но всякий раз, когда то же событие генерируется снова, элемент css сбрасывает себя к исходному размеру и положению. Преобразованиевыполняется после сброса во второй раз. Я хочу устранить сброс элемента к исходному размеру и положению. Как я могу сделать изменение постоянным в первый раз, когда происходит событие, и использовать его при запуске события?второй раз?Пожалуйста, помогите спасибо заранее

1 Ответ

0 голосов
/ 07 июня 2011

В этом коде нет ничего плохого, но имейте в виду, что вы устанавливаете scale и rotate в абсолютном выражении, а не относительно его «начального» состояния.

Таким образом, каждый раз, когда выполняется этот код, свойство -moz-transform вашего элемента перезаписывается. Если вы хотите повернуть и масштабировать его в соответствии с его текущим состоянием, вам придется отслеживать ваши значения scale и rotate и корректировать их по мере необходимости. например, если этот код находится в цикле, вы можете сделать rotate=rotate+5; или что-то в этом роде.

Вы также можете запросить эти свойства у CSS, используя ($this).css('-moz-transform'), проанализируйте их, чтобы получить нужные значения, и обновите scale и rotate соответственно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...