当 url 包含锚点时,获取页面加载时网页滚动条的垂直位置

2024-03-12

我使用 jQuery 的scrollTop() 方法来获取页面加载时滚动条的垂直位置。我需要在执行 url 中的锚点后获取此值(例如 url:www.domainname.com#foo)。我可以使用以下代码,它可以在 Firefox 和 IE 中运行:

前网址:www.domainname.com#foo

$(document).ready(function() {    
    if ($(this).scrollTop() > 0) {
         // then a conditional statement based on the scrollTop() value
         if ($(this).scrollTop() > $("#sidenav").height()) { ...

但在 Safari 和 Chrome 中, document.ready() 似乎在锚点之前执行,因此在这种情况下,scrollTop() 在页面加载时返回 0。在 Chrome 和 Safari 中执行锚点后,如何访问页面加载时的 scrollTop() 值?


你可能只想做一些快速而肮脏的事情,比如setTimeout无论需要多少毫秒才能从 Chrome 或 Safari 可靠地获取它

var MAX_CHECKS = 5;             // adjust these values
var WAIT_IN_MILLISECONDS = 100; // however works best
var checks = 0;

function checkScroll() {
  if ($(this).scrollTop() > 0) {
    // then a conditional statement based on the scrollTop() value
    if ($(this).scrollTop() > $("#sidenav").height()) {
      ...
    }
  } else {
    if (++checks < MAX_CHECKS) {
      // just to make sure, you can try again
      setTimeout(checkScroll, WAIT_IN_MILLISECONDS);
    }
  }
}

$(document).ready(function() {
  // You can also throw in an if statement here to exclude
  // URLs without # signs, single out WebKit browsers, etc.
  setTimeout(checkScroll, WAIT_IN_MILLISECONDS);
  ...
});

请注意,您还可以使用if ($.browser.webkit),尽管此功能已被弃用,并且可能会移动到插件而不是主 jQuery(有利于功能检测)。

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

当 url 包含锚点时,获取页面加载时网页滚动条的垂直位置 的相关文章

随机推荐

  • 使用 NHibernate 和动态匿名对象在 GroupBy 查询中进行选择

    我的主要目标是创建一个动态组并在 NHibernate 中使用它 考虑这个非动态的例子works repository Collection
  • 使 React 组件作为 Widget 可用

    我有一个复杂的 React 应用程序 包括渲染某些组件的身份验证等 并且有一个特定的组件 一个日期选择器 我希望其他用户将其作为 Google 地图的小部件嵌入到他们的网站上 我已经成功地将其作为 iFrame 进行共享 但我想了解如何将其
  • 使用贪婪正则表达式忽略可选后缀

    我正在 NET 中对如下所示的字符串执行正则表达式匹配 1 Lists General Discussion Waffles Win 2 Lists General Discussion Waffles Win 2 000 3 Lists
  • 使用 php 脚本中的 rsync 同步本地和远程文件夹,无需输入密码

    如何在 php 脚本中使用 rsync 同步本地和远程文件夹而不提示输入密码 我已经设置了一个公钥来自动为我的用户登录远程服务器 所以从 cli 上运行没有任何问题 rsync r a v e ssh l user delete local
  • 获取解析后的PHP文件

    我试图在解析 PHP 文件后获取其内容 然后将其存储在变量中 除了这个例子之外 我无法通过谷歌获得任何有用的信息 ob start include file content ob get clean 但这会以纯文本形式返回内容 即 标签仍然
  • 点击“后退”按钮时将数据保存在编辑文本中

    因此 在活动 1 中 我单击一个按钮进入活动 2 在活动 2 中 我将一些数据输入到 EditText 中 当我点击手机上的后退按钮时 它会将我带到活动 1 这是正确的 但如果我再次点击活动 1 按钮 我在 EditText 中输入的任何文
  • Android Handler.post,到底发生了什么

    几天以来 我试图弄清楚如果我执行代码到底会发生什么 void function somePreExecutionCode new Handler post new Runnable Override public void run some
  • 如何使用 Numpy 对字符串数组进行一次性编码?

    我知道那里有次优的解决方案 但我正在尝试优化我的代码 到目前为止 我发现的最短方法是 import numpy as np from sklearn preprocessing import OrdinalEncoder target np
  • 使用 re.match 或 re.search 返回多个匹配项

    我正在将一些代码转换为微型蟒蛇 http micropython org我陷入了一个特定的正则表达式 在Python中我的代码是 import re line 0 1 24 2 1 180108205500W 00001 290 m3 be
  • UITableView 中的 UISearchBar

    我试图模仿类似于 iPod 应用程序的艺术家表视图的行为 它是一个分段表视图 右侧有一个部分索引 顶部有一个搜索栏 但在显示视图时最初是隐藏的 我使用的是sdk 3 1 2和IB 所以简单地拖了一个UISearchDisplayContro
  • 为什么 Visual Studio 2019 不支持 Openmp 的 for-reduction 中的关键字“max”?

    当我像这样使用 openmp 时 pragma omp parallel for reduction max dumax IDE 将在 Openmp 中引发错误 max reduction 无效 pragma omp parallel fo
  • 托管 c++/cli .net 将固定字节数组转换为字符串^

    如何在托管 c cli 中将固定字节数组转换为字符串 例如我有以下字节数组 Byte byte data 5 byte data 0 a byte data 1 b byte data 2 c byte data 3 d byte data
  • 如何在 Kendo Grid 的每一行中添加自定义按钮

    我正在尝试将自定义按钮添加到 Kendo 网格的每一行 但我没有得到所需的输出 所以我的要求是向每一行添加动态按钮 然后单击这些按钮 我需要处理一些我需要的东西要传递给该按钮单击的几个列值 我试过类似的东西 Html Kendo Grid
  • 跟踪 IP 地址和国家/地区名称 (asp.net)?

    昨天我看到一个网站 其中列出了IP地址和国家名称 说最近访问过的成员 带有国家名称 城市名称的IP地址列表 我可以知道如何跟踪该信息 任何参考或任何代码吗 谢谢 请检查这些问题 检测 估计 ASP NET 中 http 请求的国家 地区 h
  • 用于列出用户的 S3 存储桶内的特定文件夹的 IAM 策略

    我在桶下面有下面的钥匙客户演示 demo for customers customer1 demo for customers customer2 现在我有 2 个客户客户1 and 客户2 这就是我要的 仅授予他们访问权限客户演示 buc
  • 给定一个数的质因数分解,生成该数的所有因数

    如果您已经对一个数字进行质因数分解 那么获得该数字的所有因数的集合的最简单方法是什么 我知道我可以从 2 循环到 sqrt n 并找到所有可整除的数字 但这似乎效率很低 因为我们已经有了质因数分解 我想它基本上是组合 选择函数的修改版本 但
  • 熊猫 corr() 与 corrwith()

    Pandas 提供两种不同的相关函数的原因是什么 DataFrame corrwith 其他 轴 0 drop False 两个DataFrame对象的行或列之间的相关性成对计算 vs DataFrame corr method pears
  • Jackson 序列化 可选,YAML 为空值

    目前我正在使用YAML工厂 https fasterxml github io jackson dataformats text javadoc yaml 2 11 配置ObjectMapper序列化和反序列化Pojos lt gt YAM
  • 显示片段中的对话框?

    我有一些片段需要显示常规对话框 在这些对话框中 用户可以选择是 否答案 然后片段应该做出相应的行为 现在Fragment类没有onCreateDialog 方法来重写 所以我想我必须在包含的外部实现对话框Activity 没关系 但是接下来
  • 当 url 包含锚点时,获取页面加载时网页滚动条的垂直位置

    我使用 jQuery 的scrollTop 方法来获取页面加载时滚动条的垂直位置 我需要在执行 url 中的锚点后获取此值 例如 url www domainname com foo 我可以使用以下代码 它可以在 Firefox 和 IE