2013-02-09 2 views
1

У меня есть бумага с некоторыми элементами, которые пользователь может перетащить и изменить размер. Есть ли способ сбросить данные этих элементов, чтобы последующие преобразования начинались с этого?Сброс преобразований RaphaelJS

Если я использую transform('T'), тогда изменения в позиции или размере начинаются с начала сеанса пользователя, и если я использую transform('...T'), тогда он начинается с предыдущего преобразования. Я бы хотел, чтобы в определенные моменты существенно сбросить происхождение, чтобы transform('T') работал из этих сохраненных состояний. Надеюсь, это имеет смысл.

+0

Я не уверен, если я понимаю достаточно хорошо, но вам хотелось бы взглянуть на эту дискуссию? https://groups.google.com/forum/?fromgroups=#!topic/raphaeljs/Dd8hFCbnkwg Они упоминают сохранение каждого преобразования в стек и выталкивание его. Поэтому, возможно, вы можете использовать функцию сброса, а затем восстановить предыдущее преобразование, вытащив его из стека. – tnsingle

ответ

0

Согласно docs at Raphael использованию следующее:

// to reset transformation call method with empty string 
el.transform(""); 
+0

Это похоже на отмену всех ранее примененных преобразований. Если я перемещаю свой элемент, тогда вызывайте это, элемент возвращается в исходное место, а не остается на месте и использует новое местоположение, размер и вращение в качестве источника для последующих преобразований. – cyberwombat

+1

Вы можете настроить jsfiddle, чтобы я мог исправить это для вас? – Neil

+0

Sure - http://jsfiddle.net/cyberwombat/BEydX/1/ - обратите внимание, что я не хочу относительных преобразований и не хочу выполнять вычисления - это то, что я делаю сейчас, и это работает - просто интересно, был ли один который я могу положить в указанное пространство в скрипке, что заставит следующий щелчок работать. – cyberwombat

Смежные вопросы