Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.06.2019, 16:10
Интересующийся
Отправить личное сообщение для Noga_programmista Посмотреть профиль Найти все сообщения от Noga_programmista
 
Регистрация: 13.03.2018
Сообщений: 17

Лагает animation на ios
Меняю ширину блока (в 1вом положении он является просто блоком на странице, во 2ром всплывашкой на весь экран с возможностью прокрутки только его, но не всей страницы) следующим способом:

elem.animate({ top: 0, left: 0, right: 0, bottom: 0, padding: '26px' }, { duration: 300, queue: false, complete: function () { body.css('position', 'fixed') } });


Данная реализация подлагивает в сафари( в принципе то что я делаю в колбэке, тоже делается только для сафари, там почему-то прокрутка работает насквозь блока, который поверх body, но 'то вроде как проблема известная и решаемая с помощью велосипеда(как по мне). По моим ощущениям, именно из за fixed на боди лаги становятся больше... ).

Вопрос, можно ли как то сделать данную анимацию плавной? или вообще предложите другие способы проанимировать?
Ответить с цитированием
  #2 (permalink)  
Старый 28.06.2019, 13:17
Интересующийся
Отправить личное сообщение для Noga_programmista Посмотреть профиль Найти все сообщения от Noga_programmista
 
Регистрация: 13.03.2018
Сообщений: 17

Вообщем эта тема отпадает, решили пока без анимаций делать, подождём до лучших времён(как станем поумнее)! Но тут появился новый вопрос, как отменить вертикальный скролл на ios?! может кто-то делал подобное что-то?)
Ответить с цитированием
  #3 (permalink)  
Старый 28.06.2019, 16:51
Интересующийся
Отправить личное сообщение для Noga_programmista Посмотреть профиль Найти все сообщения от Noga_programmista
 
Регистрация: 13.03.2018
Сообщений: 17

Вообщем как я разрешил данную ситуацию:
в том моменте где у меня происходит 'touchstart' на определенном элементе, я вырубаю стандартную прокрутку window:
let fun_pls = function (e) {
    console.log(1); 
    e.preventDefault()
}
window.addEventListener('touchmove', fun_pls(e), { passive: false });


Стоит отметить "passive: false", поскольку "e.preventDefault()" не работает в пассивных евентах, пришлось его переводить!

Дальше, в 'touchend' вешаю :

window.addEventListener('touchmove', { passive: true });


В итоге, при скролинге галереи блоков, вертикальный ( как и горизонтальный по идее ) скроллинг не происходит!

P.S. Код да и данное смс пишу второпях, поскольку и так уже задержался, и пора домой!!)
P.S.S Не представляю как бы мучился на выходных, если бы не решил эту задачку( не утверждаю что самый правильный вариант решения, но всеравно приятно) )
P.S.S.S Напомню, что проблема была именно реализации данного функционала на IOS Safari
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
IOS разработчик Анна NikitaOnline Работа 0 26.06.2019 11:23
отменить animation: для класса Black_Star (X)HTML/CSS 6 28.10.2016 10:06
Вакансия: Программист IOS, работа в офисе,г.Ростов-на-Дону Анна NikitaOnline Работа 0 21.03.2016 18:45
Разработчик мобильных игр (iOS) - Ростов-на-Дону Анна NikitaOnline Работа 0 24.08.2015 15:15
Learning the iOS 4 SDK for JavaScript Programmers monolithed Учебные материалы 1 16.11.2010 09:21