Size: a a a

2021 January 13

PA

Pudov Alex in javascript_ru
заработало)) чел, спасибо тебе от души))
источник

С

Степан in javascript_ru
Ребят привет, решыл сделать анимацию после клика на кнопку, и чтобы ее видеть соответственно нужно сделать задержку при переходе на страницу - 0,8 секунды.
$('.menu a').on('click', function(e) {
       e.preventDefault();
       var url = $(this).attr('href');
       console.log(url);
       setInterval(function() {
         window.location = url;
       }, 800);
     });
Проблема возникла в сафари на айфонах.. кнопка работает, но если я перешел на страничку вперед, и нажал кнопку браузера - назад - то код опять запускаеться и редиректит) На ПК (хром), и андроидах  - все ок)
источник

w

whyamsx in javascript_ru
жукавери вообще зло
источник

w

whyamsx in javascript_ru
Степан
Ребят привет, решыл сделать анимацию после клика на кнопку, и чтобы ее видеть соответственно нужно сделать задержку при переходе на страницу - 0,8 секунды.
$('.menu a').on('click', function(e) {
       e.preventDefault();
       var url = $(this).attr('href');
       console.log(url);
       setInterval(function() {
         window.location = url;
       }, 800);
     });
Проблема возникла в сафари на айфонах.. кнопка работает, но если я перешел на страничку вперед, и нажал кнопку браузера - назад - то код опять запускаеться и редиректит) На ПК (хром), и андроидах  - все ок)
попробуй поменять setInterval на setTimeout
я думаю это решит твою проблему
источник

С

Степан in javascript_ru
whyamsx
попробуй поменять setInterval на setTimeout
я думаю это решит твою проблему
точно, сейчас проверим)
источник

С

Степан in javascript_ru
whyamsx
попробуй поменять setInterval на setTimeout
я думаю это решит твою проблему
Помогло вижу на емуляторе) завтра чекнем на реальных девайсах) спасибо, затупил на ровном месте)
источник

w

whyamsx in javascript_ru
😘😘😘😘
источник

С

Степан in javascript_ru
тестанул на айфонах - все ок)
источник

w

whyamsx in javascript_ru
та просто на айфонах если не ошибаюсь новые вкладки открываются как новое окно в роутинге самого браузера, поэтому твой интервал продолжает работать в старом окне которое отъезжает назад в анимации iOS
источник

С

Степан in javascript_ru
whyamsx
та просто на айфонах если не ошибаюсь новые вкладки открываются как новое окно в роутинге самого браузера, поэтому твой интервал продолжает работать в старом окне которое отъезжает назад в анимации iOS
👍 обьяснил)
источник

w

whyamsx in javascript_ru
ну ёмаё..
источник

С

Степан in javascript_ru
я вот всегда думаю вот что ж за нелюди - айфонщики.. всегда в них какие-то баги)
источник

EP

Egor Petrov in javascript_ru
Pudov Alex
заработало)) чел, спасибо тебе от души))
Такой спред попробуй. JSON.parse(JSON.stringify()) не очень
источник

w

whyamsx in javascript_ru
Степан
я вот всегда думаю вот что ж за нелюди - айфонщики.. всегда в них какие-то баги)
согласен
сделали бы уже одну всемирную ОС на телефоны да и всё, жить стало бы проще всем
источник

EP

Egor Petrov in javascript_ru
iOS например )
источник

DM

Denys Mikhalenko in javascript_ru
собственно, там не spread нужен, а просто новый объект
источник

EP

Egor Petrov in javascript_ru
Так там получается Object.assign
источник

DM

Denys Mikhalenko in javascript_ru
поэтому можно сделать проще
const [slider, setSlider] = useState({ тут объект })
источник

DM

Denys Mikhalenko in javascript_ru
а когда нужно изменить, можно сделать так

slider.very.deep.property = newvalue
setSlider({ ...slider })
источник

DM

Denys Mikhalenko in javascript_ru
так как создастся новый объект, setState триганет update
источник