Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
Приветствую, форумчане. Про matrix(bla-bla) синусы и косинусы знаю. Постулат: Браузер "знает" количество оборотов элемента если угол больше 360 градусов — очевидно из опыта. Вопрос: Возможно-ли извлечь этот реальный угол поворота? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2017, 01:08 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
да вроде поиском можно найти, например функция для определения угла наклона элемента это не то, что нужно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2017, 03:39 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
бухалтер фантоцци, Нет, к сожалению. На выходе расчётной функии угол от -180 до 180 градусов :( Вышел из положения запоминанием полного угла поворота в переменной. Неудобно, но деваться, похоже, некуда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2017, 21:26 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
Дмитрий-(сколько-же-нас?)Постулат: Браузер "знает" количество оборотов элемента если угол больше 360 градусов — очевидно из опыта. с фига ли это постулат и очевидно? с точки зрения здравого смысла число полных оборотов просто отбрасывается, и учитывается лишь оставшийся угол. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2017, 10:26 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
Дмитрий-(сколько-же-нас?)На выходе расчётной функии угол от -180 до 180 градусов :(Вы-же можете поменять функцию и вернуть другой угол, например от 0 до 360. AntonariyДмитрий-(сколько-же-нас?)Постулат: Браузер "знает" количество оборотов элемента если угол больше 360 градусов — очевидно из опыта. с фига ли это постулат и очевидно? с точки зрения здравого смысла число полных оборотов просто отбрасывается, и учитывается лишь оставшийся угол.+1 matrix не содержит сведений о 100500 оборотов, это явно лишнее :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2017, 14:51 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
Antonariy, Очевидно — в прямом смысле: "эксперименты доказывают". Здравый смысл, у всех разный. бухалтер фантоцци, Я могу поменять что угодно, но мне нужно бы "добыть" это число из недр браузера — где-то же они там лежат? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2017, 17:06 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
Дмитрий-(сколько-же-нас?), https://learn.javascript.ru/styles-and-classes#полный-стиль-из-getcomputedstyle тут смотрел? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2017, 17:29 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
вадя, Да, конечно. Проблема в том, что "rotate(...deg);" это значение свойства "transform", доступ к которому через: getPropertyValue("transform") возвращает целую матрицу всех, применённых трансформаций, где угол поворота в пределах одного оборота, а реальный угол поворота не известно где (но отрабатывается!) :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2017, 18:41 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
Дмитрий-(сколько-же-нас?)возвращает целую матрицу всех, применённых трансформаций, где угол поворота в пределах одного оборота, а реальный угол поворота не известно где (но отрабатывается!) :( в пределах оборота - это и есть реальный угол ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2017, 20:43 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
ИзопропилДмитрий-(сколько-же-нас?)возвращает целую матрицу всех, применённых трансформаций, где угол поворота в пределах одного оборота, а реальный угол поворота не известно где (но отрабатывается!) :( в пределах оборота - это и есть реальный угол "В пределах оборота" — хорошее замечание :) Реальный угол может быть гораздо больше одного оборота и он где-то в недрах браузера есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2017, 20:48 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
Дмитрий-(сколько-же-нас?), т.е. тебе надо число оборотов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2017, 21:17 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
вадяДмитрий-(сколько-же-нас?), т.е. тебе надо число оборотов? По-хорошему, мне нужен реальный полный угол поворота элемента, а уж количество оборотов я бы нашёл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2017, 21:45 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
Дмитрий-(сколько-же-нас?), Ещё раз : AntonariyДмитрий-(сколько-же-нас?)Постулат: Браузер "знает" количество оборотов элемента если угол больше 360 градусов — очевидно из опыта. с фига ли это постулат и очевидно? с точки зрения здравого смысла число полных оборотов просто отбрасывается, и учитывается лишь оставшийся угол. Вам правильно ответил Antonariy Зачем браузеру хранить угол более 360 град. , если для корректного отображения любого элемента хватает реального угла поворота (0-360 или от -180 до 180) ? Дмитрий-(сколько-же-нас?)Очевидно — в прямом смысле: "эксперименты доказывают". Здравый смысл, у всех разный. Я могу поменять что угодно, но мне нужно бы "добыть" это число из недр браузера — где-то же они там лежат? Эксперименты доказывают, что браузер корректно отображает элемент, если угол оказывается более 360 или менее -360, но это не значит, что он где-то запоминает 100500 оборотов (в ту или иную сторону). А если Вам завтра понадобится добыть из "недр" количество оборотов против часовой и по часовой отдельно? Это тоже по Вашей логике должен хранить браузер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2017, 22:55 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
бухалтер фантоцци, Я не знаю, как задать браузеру вопрос, поэтому зачем ему хранить угол более 360 градусов он мне ответить не может :( Я знаю, что он эту информацию хранит, причём с учётом направления вращения. Я знаю, что мне эта информация нужна. Вопрос к тем, кто в курсе, или может чем-то помочь. Остальным, просьба не беспокоиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2017, 01:38 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
Дмитрий-(сколько-же-нас?), тогда воспользуйся консолью там всё, что есть отображается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2017, 05:37 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
Дмитрий-(сколько-же-нас?)Я знаю, что он эту информацию хранит, причём с учётом направления вращения. исходники браузера смотрел? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2017, 08:49 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
Дмитрий-(сколько-же-нас?)бухалтер фантоцци, Я знаю, что он эту информацию хранит, причём с учётом направления вращения. Ok, давайте возьмём угол 30 град. и будем прибавлять 360, чтобы посмотреть, как работает браузер: cos(30) == cos(390) == cos(750) == cos(1110) == 0.8660254037844 sin(30) == sin(390) == sin(750) == sin(1110) == 0.5 Теперь будем отнимать 360: cos(-330) == cos(-690) == cos(-1050) == 0.8660254037844 sin(-330) == sin(-690) == sin(-1050) == -0.5 ----------------------------------- Теперь поиграемся с углом 120 град. cos(120) == cos(480) == cos(840) == cos(1200) == -0.5 sin(120) == sin(480) == sin(840) == sin(1200) == 0.8660254037844 Теперь будем отнимать 360: cos(-240) == cos(-600) == cos(-960) == -0.5 sin(-240) == sin(-600) == sin(-960) == 0.8660254037844 ---------- ИТОГО: Как мы видим, вполне достаточно хранить не угол, а его косинус и синус, чтобы всегда корректно отображать элемент, и не только... Зачем хранить углол? Почему Вы уверены, что браузер хранит именно угол? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2017, 15:47 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
бухалтер фантоцциЗачем хранить углол? Почему Вы уверены, что браузер хранит именно угол? тут тс несколько путает , ему надо не угол, а обороты, но говорит, что зная угол - вычислит обороты. с точки зрения геометрии - он прав. но вот с точки зрения браузера..... а обороты необходимо знать в тех же играх. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2017, 15:52 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
сорри, поправочка, знак - не написал: sin(-240) == sin(-600) == sin(-960) == -0.8660254037844 вадябухалтер фантоцциЗачем хранить углол? Почему Вы уверены, что браузер хранит именно угол? тут тс несколько путает , ему надо не угол, а обороты, но говорит, что зная угол - вычислит обороты. с точки зрения геометрии - он прав. но вот с точки зрения браузера..... а обороты необходимо знать в тех же играх. Так браузер только отображает элемент, ему для отображения вполне хватает синуса-клсинуса и координат точки, вокруг которой делать оборот. А программист (ТС) может делать что угодно, мало-ли что он захочет, только причём тут браузер ? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2017, 15:59 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
бухалтер фантоцци, Для чего эти рассуждения? Забейте в css ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2017, 17:03 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
бухалтер фантоцци, Для чего эти рассуждения? Забейте в css: transition: all 0.75s ease; И выставьте тому же диву, сначала угол 30 градусов, а затем 390 (можно по клику). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2017, 17:06 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
Дмитрий-(сколько-же-нас?), Ok, смотрим, что происходит. В CSS-коде указано 390, значит надо при :hover крутить на 390 по часовой, а при снятии указателя опять на 390, но в другую сторону. И ЧТО? 390 указано в правилах CSS , то-есть уже запомнено, зачем браузеру где-то хранить в другом месте? Браузер тупо выполняет CSS-правило, но использует матрицу для текущего отображения - этого вполне достаточно. Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2017, 17:20 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
бухалтер фантоцци, Прибавьте к 390 ещё 30 скриптом и попробуйте прочесть это значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2017, 18:13 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
Дмитрий-(сколько-же-нас?)бухалтер фантоцци, Прибавьте к 390 ещё 30 скриптом и попробуйте прочесть это значение.Покажите тестовый пример, за Вас что-ли делать? Уже всё разжёвано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2017, 18:14 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
Я задал конкретный вопрос: как в процессе работы страницы, скриптом извлечь полное значение угла поворота дива. Те же 390 градусов, заданных в css. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2017, 18:16 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
Дмитрий-(сколько-же-нас?)Прибавьте к 390 ещё 30 скриптом и попробуйте прочесть это значение. Если свойство стиля определено (установлено), то правило CSS для данного свойства уже не применяется. В данном примере, при установке значения стиля из JS, элемент таки анимируется, но от текущего значения до значения, жёстко прописанного в стиле (иначе будут неприятные "дёрганья"). Дмитрий-(сколько-же-нас?)Я задал конкретный вопрос: как в процессе работы страницы, скриптом извлечь полное значение угла поворота дива. Те же 390 градусов, заданных в css. Кроме угла поворота, могут быть заданы другие трансформации, поэтому браузеру приходится работать с матрицами. Попробуйте использовать document.styleSheets... свойства cssRules, cssText, selectorText, style --------------------------------------------------------------- Ниже тестовый код, и как можно увидеть - текущее значение угла всегда получаем через matrix При этом CSS-значение угла 390 никак не относится к текущему положению элемента :) Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2017, 20:05 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
браузер запоминает значение стиля, какое бы оно ни было. но это не значит, что он хранит "количество оборотов". получай значение угла из стиля, дели на 360 - вот тебе и количество оборотов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2017, 20:11 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
Antonariyбраузер запоминает значение стиля, какое бы оно ни было. но это не значит, что он хранит "количество оборотов". получай значение угла из стиля, дели на 360 - вот тебе и количество оборотов. при этом не факт, что DIV успел повернуться до указанного в CSS значения (в примере скорость анимации намеренно уменьшена - общее время увеличено до 5s) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2017, 20:19 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
бухалтер фантоцциAntonariyбраузер запоминает значение стиля, какое бы оно ни было. но это не значит, что он хранит "количество оборотов". получай значение угла из стиля, дели на 360 - вот тебе и количество оборотов. при этом не факт, что DIV успел повернуться до указанного в CSS значения (в примере скорость анимации намеренно уменьшена - общее время увеличено до 5s) Совершенно верно! "Получай значение из стиля" — как??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2017, 20:26 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
Дмитрий-(сколько-же-нас?)"Получай значение из стиля" — как??? в примере прописано как, только это ничего не даст - там тупое CSS-правило "rotate(390deg);". бухалтер фантоцци В данном примере, при установке значения стиля из JS, элемент таки анимируется, но от текущего значения до значения, жёстко прописанного в стиле (иначе будут неприятные "дёрганья"). Логично, что такие нюансы работы и внутренней реализации, браузер никак не показывает, если это не прописано в стандарте, иначе будет кто во что горазд - куча несовместимостей между браузерами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2017, 20:35 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
P.S. Другими словами - или пусть крутит браузер, или нужно крутить самому и считать обороты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2017, 20:39 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
бухалтер фантоцци, Я, по-любому, кручу. Да, сейчас добавил переменную для запоминания угла, однако, в случае плавного поворота, проблему это решает не до конца. Мне кажется, что "добыть" этот угол, таки можно, но не стоит потраченного времени. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2017, 20:43 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
Дмитрий-(сколько-же-нас?), Ещё подумалось про CSS-variables (последние версии браузеров их поддерживают). Возможно, в Вашем случае через CSS-переменные будет менее накладно по ресурсам. Вот тестовый пример, как можно их заюзать Использование CSS-переменных Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2017, 20:52 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
Дмитрий-(сколько-же-нас?) Мне кажется , что "добыть" этот угол, таки можнопрогресс. было-то "постулат и очевидно". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2017, 21:06 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2017, 21:08 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
бухалтер фантоцци, Спасибо. Пока, пробую без переменных. Antonariy, Что смущает? И "постулат" и "очевидность" остались без изменений, как и возможность "добыть" этот угол из "недр" (ищу возможность уже пол-года, как). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2017, 21:10 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
вадя http://frontender.info/css-variables-why-should-you-care/ меня кстати удивляет, что до сих пор мало внимания к CSS-переменным (или мне так кажется), это-же очень сильное и удобное средство, которое делает из CSS-препроцессоров (SASS, LESS) древних мамонтов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2017, 21:12 |
|
||
|
(JS) Узнать реальный угол поворота дива
|
|||
|---|---|---|---|
|
#18+
бухалтер фантоццивадя http://frontender.info/css-variables-why-should-you-care/ меня кстати удивляет, что до сих пор мало внимания к CSS-переменным (или мне так кажется), это-же очень сильное и удобное средство, которое делает из CSS-препроцессоров (SASS, LESS) древних мамонтов... еслиб не ты я б не знал.... счас буду учится использовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2017, 21:33 |
|
||
|
|

start [/forum/topic.php?all=1&fid=22&tid=1444680]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 297ms |
| total: | 465ms |

| 0 / 0 |
