jQuery mobile pageShow SilentScroll后,页面跳转到顶部

2023-12-13

我们有一个购物篮页面,其中有产品,然后是运输方式。这是一个jQuery mobile site.

我想要实现的目标是,如果选择了运输方式,那么如果有页面重新加载,jQuery mobile 会跳转到div到运输方式。

这是代码,滚动到运输方式。这是一个内联脚本。

$(document).on("pageshow", function (e, ui) {
    $.mobile.silentScroll($('#kosar').offset().top);
});

预期结果:页面刷新时,窗口滚动到#kosar div.

目前结果: 页面滚动到#kosardiv,但立即滚动到页面顶部。

我们发现,如果在执行后出现一些错误silentScroll,窗口不跳回页面顶部。看来,之后的事情pageshow将其滚动到后面,但我们不知道是什么。

例如:

$(document).on("pageshow", function (e, ui) {
    $.mobile.silentScroll($('#kosar').offset().top);
    undefined_function(); //This function is not exists
});

以下是非工作和“工作”示例:

这是一个活生生的例子。当您刷新页面时,您将看到一秒钟的大红色文本,然后您将立即被带到页面顶部。

这是有错误的示例。

我已经在FF开发版中测试过了。使用 Chrome,您需要将浏览器的大小调整得小一点,并刷新几次才能看到滚动条如何跳到底部和向上。

如何防止这种烦人的滚动到顶部?


我认为,这是 jQuery mobile js 中的一个错误,我已经向他们报告了。

最后我想通了。

版本:http://ajax.googleapis.com/ajax/libs/jquerymobile/1.4.5/jquery.mobile.min.js

我在 jQuery mobile js 中设置了一个断点silentScroll定义以及我所看到的,由于某种原因它运行了两次。第一个是一个好的电话,ypos是一个数字,我想跳到哪里,这就是为什么它跳到正确的地方。

但是,稍后,在第 15432 行,这是这些代码行,它们是在文档准备好的情况下运行的:

// window load event
// hide iOS browser chrome on load if hideUrlBar is true this is as fall back incase we were too early before
if ( $.mobile.hideUrlBar ) {
    $window.load( $.mobile.silentScroll );
}

当这种情况发生时,在第二次通话时,ypos for silentScroll将是一个对象,而不是数字,正如函数所期望的那样,如果它不是数字,则 jQuery mobile 设置ypos to $.mobile.defaultHomeScroll如果不修改的话实际上是 1。这就是它跳回原处的原因。

警告:如果您认为,您只需设置$.mobile.hideUrlBar为假,你就错了。我已经尝试过,但它有副作用,因为在第 15416 行中有另一个对该变量的引用,如果您关闭,那么当您从一个页面转到另一个页面时,您将不会被重定向到第二个页面的顶部页。

所以解决方案是注释掉这个$window.load( $.mobile.silentScroll );现在一切都按我的预期进行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery mobile pageShow SilentScroll后,页面跳转到顶部 的相关文章

随机推荐

  • 带复选框的 Java 结果集到 JTable

    我有这段代码 它可以显示数据库中的数据 它运行良好 但我希望它在最后一列有复选框 我在这里找到了一些代码 但它仅适用于预定义的值 而不是来自数据库 如何向 JTABLE swing 添加复选框 截屏 Code public print in
  • Java 初学者 - 计算句子中的单词数

    我应该使用方法来计算句子中的单词数 我写了这段代码 但我不太确定为什么它不起作用 无论我写什么 我只收到 1 个字的计数 如果你能告诉我如何修复我写的内容而不是给我一个完全不同的想法 那就太好了 import java util Scann
  • 是否有“临时函数”之类的东西? [复制]

    这个问题在这里已经有答案了 有临时视图和临时表 是否有 临时函数 我有一个函数 我想在事务期间使用 然后丢弃 类似于临时表的用例 此外 我希望两个并发事务能够创建具有相同名称的相同函数 而无需锁争用 没有CREATE TEMP FUNCTI
  • SurfaceView 中带有 SimpleOnGestureListener 的 Android GestureDetector

    public class GameActivity extends Activity private static final String TAG GameActivity Override public boolean onTouchE
  • 如何在 Angular 中的本地存储中存储文件(2 及更高版本)

    我只想将图像或 pdf 或任何类型的文件存储在本地存储中 那么 有没有办法将文件存储在LocalStorage中呢 这是一个适用于 Angular 6 7 8 的独立服务 它在本地存储中下载 存储和检索文件 import Injectabl
  • 检测 Java 应用程序是否以 Windows 管理员身份运行

    我有一个 Java 应用程序 无论如何 我可以判断该进程是否在 Windows 7 上以管理员权限运行 我找到了一种似乎与平台无关的不同解决方案 它尝试编写系统首选项 如果失败 则该用户可能不是管理员 As 托马斯 扎托建议 您可能希望抑制
  • 使用改造上传文件时出现错误(没有此类文件或目录)

    我正在开发 Android 应用程序 我需要将带有文件的请求发布到服务器 我在用retrofit这样做 我这样做MultipartAPI 请求 然后我用Intent createChooser选择文件 当我这样做的时候问题就出现了enque
  • 使用 Storyboard 在 Mac sdk 中自定义字体

    如何在 Mac 应用程序开发中向情节提要添加自定义字体 我浏览了一些博客 并尝试添加字体书并使用故事板使用这种自定义字体开发一个 NStextfield 但这是系统相关的 我创建了 DMG 并安装在另一台计算机上 它使用默认字体 我以编程方
  • Android 列表视图填充内容的高度

    我在 xml 中定义了一个列表视图 现在我正在设置内容视图setContentView R layout topic layout 我里面有 5 个项目 目前它只填充列表视图高度的一半 但我希望它完全填充高度 这样我在底部就没有任何空间 我
  • 如何从文本文件中删除标点符号[重复]

    这个问题在这里已经有答案了 import collections import string with open cipher txt as f f f read replace replace n lower f f strip stri
  • “this”模块的源代码是做什么的?

    如果您打开 Python 解释器 然后输入 import this 如您所知 它会打印 Python 之禅 作者 Tim Peters 美丽总比丑陋好 显式的比隐式的好 简单总比复杂好 复杂总比复杂好 扁平比嵌套更好 稀疏比密集好 可读性很
  • 使用 Nexus REST API 获取给定 groupid/artifactId 的最新工件版本

    我正在尝试使用 nexus REST api 来获取最新版本的 Maven 工件 我可以使用浏览到我正在寻找的特定版本http repo local service local data index a local turbogears s
  • SQL JOIN AND OR 条件

    我有一张桌子说Cases 它使用来自的参考Workers对于三列 还有一张桌子Company工人属于哪个 下面是架构 Cases CaseID CaseNumber Worker1 Worker2 Worker3 Workers Worke
  • React 路由器在刷新后渲染组件

    这是一个奇怪的问题 但是当我尝试使用链接进行重定向时 什么也没有发生 只是 URL 发生了变化 但是当我刷新浏览器时 组件就会被渲染 我究竟做错了什么 My nav js import React from react import Nav
  • Lambda中使用的变量在计算总和时应该是最终的还是有效的最终?

    我有一张包含地图的地图 地图 gt 对于映射中的所有条目 我想计算特定键的总和 例如我的地图是这样的 Key1 Key2 Value A Z 10 10 B Z 40 10 C Y 20 10 我想基本上计算所有key2等于B的总和 所以在
  • 实际函数调用计数与 EXPECT_CALL(*mock, display()) 不匹配

    我正在打电话EXPECT CALL在模拟函数上display 但它返回运行时错误 Actual function call count doesn t match EXPECT CALL mock display output GTest
  • delphi编译器如何生成ResourceString标识符?

    我的问题是 当编译应用程序时 Delphi 编译器会生成数字标识符并将其分配给所有资源字符串 很少有文档说 当重新编 译应用程序时 会重新生成资源字符串的数字标识符 并且它们会警告依赖它 因为它可能会在之后发生变化再生 有很多第三方本地化工
  • Java 中的进程与线程

    在我读过的问题中 我们建议使用线程而不是进程 因为线程更快 我决定为我的程序使用线程来编辑维基百科中某个类别中的文章 该程序获取要编辑的文章列表 然后将文章分配给 10 个线程 通过这种方式 我每分钟可以进行 6 7 次编辑 其速度与我没有
  • 正则表达式获取长度为n的所有子串

    给定仅包含小写字母和整数的输入字符串N 我需要一个正则表达式来提取所有长度的子字符串N来自输入字符串 举个例子 let N 3 and input string baababacb 结果应该是 baa aab aba bab aba bac
  • jQuery mobile pageShow SilentScroll后,页面跳转到顶部

    我们有一个购物篮页面 其中有产品 然后是运输方式 这是一个jQuery mobile site 我想要实现的目标是 如果选择了运输方式 那么如果有页面重新加载 jQuery mobile 会跳转到div到运输方式 这是代码 滚动到运输方式