JQuery анимировать для достижения противоречивых результатов - PullRequest
0 голосов
/ 23 октября 2019

У меня есть iFrame, загруженный на сайт, и в iFrame есть многоэтапная форма, когда пользователь нажимает кнопку «Следующий шаг», расположенную в нижней части каждого шага формы, веб-сайт прослушивает сообщениеразмещен на веб-сайте, а затем должен прокрутить пользователя до начала следующего шага.

Код, который я должен обработать, работает на некоторых веб-сайтах, но не на других, в том смысле, что, хотя данныеТочно так же, пользователь не прокручивается вверх, версии jQuery одинаковы, версия 1.2.x, и на обоих сайтах используется стандарт HTML5, следующий код реплицируется на два веб-сайта, один позволит пользователю прокручиватьв верхнюю часть страницы при нажатии кнопки следующего шага, тогда как другой сайт с тем же кодом не прокручивает пользователя.

Если я добавлю html в дополнение к body к animateФункция тогда она работает, но я спрашиваю, почему это будет работать для одного, а не для другого, я что-то упустил в моем JS:

// Create IE + others compatible event handler
var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
var eventer = window[eventMethod];
var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";

// Listen to message from child window
eventer(messageEvent,function(e) {
  var str = e.data.toString();
  if (str.includes('scroll-')) {
    var scroll = str.replace('scroll-', '');
    $('body').animate({scrollTop: (parseInt(scroll) + 96)});
  }
},false);

для справки, scroll- будет содержать число, например: scroll-500, и оно будет преобразовано в число.

ОБНОВЛЕНИЕ

Похоже, влияет на пользователей iOS?

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