首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用本机浏览器prev/next按钮时,页面转换挂起

使用本机浏览器prev/next按钮时,页面转换挂起
EN

Stack Overflow用户
提问于 2022-02-19 21:58:42
回答 2查看 184关注 0票数 0

当使用本机浏览器prev/next按钮时,我遇到了一种奇怪的行为。当导航到某个页面并返回到前一个页面时,转换不会消失。它就挂在屏幕上直到我刷新页面。

有趣和令人沮丧的是,它有时工作,有时不在同一设备上。大多数情况下,Chrome (桌面)和移动(iOS,Android)都有问题。如果它在桌面上工作,那么它可能不能在移动设备上工作,反之亦然。我也在我朋友的设备上做了很多测试,正如我所预料的那样,其中一些成功了,有些却没有。

我怀疑一个问题可能是在“在链接点击”部分。但我不知道哪里出了问题。(我希望有人能帮我。

代码语言:javascript
复制
// Wait until the whole page is loaded.
$(window).on("load", function () {
  hideLoad(); // call out animations.
});


// Transitions In
// =================
function revealLoad() {
  $("#page-transition").removeClass("tt-transition-out");
  $("#page-transition").addClass("tt-transition-in");
}

// Transitions Out
// ================
function hideLoad() {
  $("#page-transition").addClass("tt-transition-out");
}

// On link click - I suspect a problem may be in this section
// ==============
$("a").on('click', function(e) {
  e.preventDefault();

  setTimeout(function (url) {
    window.location = url
  }, 1500, this.href);

  revealLoad(); // call in animations.
});

Codepen:https://codepen.io/mrWilson123/pen/VwrXebj

您可以测试它的实时这里。

EN

回答 2

Stack Overflow用户

发布于 2022-02-20 07:43:11

这可能对您有帮助,使用$(document).ready(function(){})而不是$(window).on("load", function () {}),因为在加载所有东西之后,您都有一些映像和$(window).on("load", function () {})触发器。

更多解释:https://stackoverflow.com/a/3698214/11143288

票数 0
EN

Stack Overflow用户

发布于 2022-03-01 12:18:51

看起来下面的代码起了作用。:)

代码语言:javascript
复制
window.onpageshow = function (event) {
    if (event.persisted) {
        window.location.reload();
    }
};

来源:https://stackoverflow.com/a/13123626/2785140

谢谢,@mostafa。:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71189563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档