我有一些JavaScript,我正在关闭屏幕。作为它的一部分,我希望页面滚动到顶部,所以我使用的是在Android和iPhone浏览器上均可使用的window.scrollTo(0, 0),但是Windows 8手机无法滚动...

var dismissWelcome;
dismissWelcome = function(e) {
  var welcome;
  if (((e != null ? e.stopPropagation : void 0) != null) && ((e != null ? e.preventDefault : void 0) != null)) {
    e.stopPropagation();
    e.preventDefault();
  }
  welcome = document.getElementById('welcome');
  welcome.style.display = 'none';
  window.scrollTo(0, 0);
};
addEvent('dismiss-welcome', 'touchstart', dismissWelcome);


如何在Windows 8手机(最好是所有已知设备)上使window.scrollTo(0, 0)工作。

最佳答案

我将其设置为超时,并且效果很好。必须与被删除的dom对象有关。可能还有其他方法,但这对我来说很好。

var dismissWelcome;
dismissWelcome = function(e) {
  var welcome;
  if (((e != null ? e.stopPropagation : void 0) != null) && ((e != null ? e.preventDefault : void 0) != null)) {
    e.stopPropagation();
    e.preventDefault();
  }
  welcome = document.getElementById('welcome');
  welcome.style.display = 'none';
  window.scrollTo(0, 0);
  // do it again, after the welcome page has finished being removed...
  setTimeout(function() {
    window.scrollTo(0, 0);
  }, 200);
};
addEvent('dismiss-welcome', 'touchstart', dismissWelcome);

关于javascript - Windows Phone 8 IE scrollTo不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14548179/

10-12 03:42