jQuery 手风琴,将单击的选项卡的开头滚动到顶部,如果展开的选项卡位于单击的选项卡之上,则不起作用?

2023-11-25

让我的 jquery 手风琴做我想做的事情时遇到了一些问题。

我总是希望被单击的选项卡从页面顶部滚动到固定数量的像素,并且我有点让它工作了。但是,只要活动选项卡位于被单击的选项卡上方,并且页面已经向下滚动一点,则被单击选项卡的顶部和部分内容就会向上滚动到页面顶部。

这就是我得到的:

$(function() {
    $("#accordion").accordion({
        autoHeight: false,
        collapsible: true,
        heightStyle: "content",
        active: 0,
        animate: 300
    });
    $('#accordion h3').bind('click',function(){
        theOffset = $(this).offset();
        $('body,html').animate({ 
            scrollTop: theOffset.top - 100 
        });
    });
});

这是一个fiddle来说明我的问题,

例如,展开“第 2 节”,向下滚动并单击“第 3 节”选项卡,所有内容都会滚动出页面,但其他方式也可以。

如果在打开新选项卡之前关闭活动选项卡,它也可以正常工作,所以我假设这与折叠选项卡的高度有关,这会扰乱滚动到顶部功能!?

希望有人可以提供帮助,我可能以错误的方式处理这个问题。我真的不知道我实际上在做什么,因为我的 jquery 技能仅限于基本的剪切和粘贴理解! ^^

提前致谢,欢迎所有帮助和指点! :)

Cheers


是的,关闭的选项卡的高度就是问题的原因。

由于上面的选项卡折叠,单击的 h3 的顶部随后立即发生变化。

一种解决方法(可能是一个不好的方法)是在折叠动画完成后触发滚动动画,即如果折叠动画设置为 300 毫秒,则在 310 毫秒或其他时间后开始滚动动画。

$(function() {
        $("#accordion").accordion({
            autoHeight: false,
            collapsible: true,
            heightStyle: "content",
            active: 0,
            animate: 300 // collapse will take 300ms
        });
        $('#accordion h3').bind('click',function(){
            var self = this;
            setTimeout(function() {
                theOffset = $(self).offset();
                $('body,html').animate({ scrollTop: theOffset.top - 100 });
            }, 310); // ensure the collapse animation is done
        });
});

更新了小提琴

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

jQuery 手风琴,将单击的选项卡的开头滚动到顶部,如果展开的选项卡位于单击的选项卡之上,则不起作用? 的相关文章

  • 移动浏览器上的 Javascript / jQuery 页面更改事件

    我正在设计一个移动网站 同时考虑所有领先的浏览器 Safari Chrome Dolphin Opera 我想显示一个 正在加载 元素页面导航 更改 请求新页面 我无法在锚标签上使用点击事件 因为有很多锚标签存在preventDefault
  • php循环中的ajax在按钮单击时执行操作

    所以我有一个 php 循环 我使用 jquery 滑动切换来隐藏 显示带有 sql 结果的表 目前该表仅使用 php 加载 但由于发生了很多事情 导致了一些加载问题 我需要使用滑动切换 btn 来触发 ajax 因此它仅在按下按钮时请求当前
  • 在 jQuery 中生成下拉菜单的年份

    我想到了一个小问题 我正在尝试想出一种方法来解决它 基本上 我想要做的是将年份减去 18 年 即 2011 年返回 1993 年 并生成一个下拉选项 供用户选择在此之前的任何年份 基本上他们必须证明自己已超过法定年龄 18 岁 var mi
  • 从数据库中给定时间起经过的时间

    我有一个 HTML 表 其中包含从数据库中提取的记录 我正在使用 PHP MySQL 我的表中名为 Timer 的列未从数据库中检索 我需要在此处显示经过的时间 从数据库中的特定时间开始 例如 假设现在的时间是2013年2月21日下午6点2
  • jqPlot DateAxis tickInterval 不起作用

    我试图每月绘制一个包含单个数据点的图表 我会在每个月的第一天将其作为一个点发送到 jqPlot jqplot actualChart 2011 10 01 0 296 2011 11 01 0 682 title programSelect
  • 如何在javascript中删除对象的一部分

    这是我的代码 var data btn click function total data push id total cell val1 val2 val3 每次用户点击btn按钮 我向数据对象添加一些值 现在我的问题是如何删除有的部分i
  • Django:单击按钮加载另一个模板

    我已经在 django 项目上工作了几个星期 只是玩玩以便掌握它的窍门 我有点困惑 我现在有一个名为 home html 的模板 我想知道是否可以将另一个名为 profile html 的模板设置为 home html 模板上的链接 我有一
  • Firefox 中的 jQuery 日期选择器日历问题 [重复]

    这个问题在这里已经有答案了 在 2016 年的某些月份 我在 Firefox 移动和网络 中的 jQuery UI 日期选择器中显示了错误的日期 例如 2016 年 3 月 31 日是星期四 2016 年 4 月 1 日当然是星期五 但在我
  • python:html 编写器?

    使用 jquery 可以很容易地使用选择器技术在另一个元素中插入一些元素 我想知道是否有任何 python 库可以做与 jquery 类似的事情 原因是我希望服务器端 python 程序生成静态页面 这需要解析 html 并向其中插入一些内
  • 迭代嵌套的 firebase 对象 - Javascript

    如何迭代嵌套的 firebase 对象 Publications Folder1 hdgjg76675e6r Name Author hdgjdsf3275e6k hd345454575e6f Folder2
  • 如果tinyMCE编辑器为空,如何通过在其旁边附加字符串来验证它?

    我需要验证一个表格 此表单有一些下拉菜单和tinyMCE编辑器 我通过在每个字段后附加字符串 Required 如果为空 来验证此表单 但是我无法验证tinyMCE编辑器 如果编辑器为空 我尝试了类似的操作 tinyMCE get tiny
  • 数据表:根据列中的值过滤行

    我需要从数据表中过滤掉列中不包含特定值的行 例如 对于下面的数据 我只想显示 type Dog 的结果 table tr th Type th th Breed th th Owner th tr tr td Dog td td Dober
  • 未捕获的类型错误:无法读取未定义的属性“prop”

    我有 6 个输入复选框 如果选中的复选框超过 3 个 则最后一个复选框将被取消选中 为了更好地理解 请参阅我之前的question https stackoverflow com questions 35195235 if checkbox
  • 如何在 HTML 表格上使用分页?

    我正在尝试使用这个分页library http flaviusmatis github io simplePagination js 在我的 HTML 表格页面 特别是浅色主题 中 但不知何故 我无法理解如何在我的 HTML 页面中以这种方
  • 从 html5

    我正在寻找一种方法来根据用户代理字符串将控件属性添加到视频标签 我不希望在 iPad 和 Android 之外的任何浏览器或设备上出现控件属性 所以我认为用户代理是最好的识别方法 因为 ipad 和 android 一词出现在各自的 UA
  • 在 JQuery ui 自动完成中显示图像

    我有一个带有 JQuery ui 自动完成功能的脚本 可以完美运行 有一个显示用户名字和姓氏的搜索过程 但在我的数据库中 还有用户的图片 我想将其显示在带有名字和姓氏的建议中 数据库中pic包含图片url 剧本 function searc
  • @RenderBody() 该怎么办?

    我有一个 ASP NET MVC 3 应用程序JQuery UI Tabs 我有一个主布局页面 layout cshtml 代码如下 大师 layout cshtml需要一个 RenderBody 代码 既然是必需的 那我该怎么办呢 我想我
  • 如何在具有现有记录的 json 数据表顶部添加新行

    我试图在数据表顶部添加一行 显示 金额 列的总和 我正在使用 json 数据表 jquery 插件 列表来显示数据表 如何将此行与现有行一起添加到数据表顶部 我认为这段代码会对你有所帮助 var json uid user123 first
  • knockoutjs通过点击事件获取元素id

    我正在使用 knockoutjs 目前我认为有些东西看起来像这样 img src images image1 png 这允许我获取视图模型中的元素 ID pressedTab function tab console log Element
  • 在firefox上用js改变表单方法

    我需要使用 javascript jQuery 或纯 更改表单的方法属性 我的表单有 method post 我尝试用以下方法更改它 submit button click function var url input id url val

随机推荐

  • 在 Java 中的 Mac Os X 上获取网络摄像头流 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我想获取我的 Macbook 集成 iSight 网络摄像头 的网络摄像头流 我使用 Java 并且对 Objective C 一无所知 所以我正在寻找一个 完整的 java 解
  • FragmentPagerAdapter getItem 位置错误

    我的 FramentPageAdapter 有一个奇怪的问题 MainActivity java SuppressLint ValidFragment public class MainActivity
  • Swift:以 NSException 类型的未捕获异常终止

    我正在开发一个简单的应用程序 当我单击注册用户时 该应用程序将被终止 请帮我解决这个问题 它说 由于未捕获的异常 NSUnknownKeyException 而终止应用程序 原因 setValue forUndefinedKey 这个类不是
  • 在 C# 和 Mysql 中使用预准备语句

    我在程序中尝试了准备好的语句 但不起作用 注释的部分是Prepared Statement 部分 当我把它改成正常的语句时 一切都正确了 有人能告诉我我错过了什么吗 非常感谢 private void btnLogin Click obje
  • 模拟服务器请求 Android Espresso UI 测试

    我正在使用 Espresso 为我的 Android 应用程序编写 UI 测试 并且想使用 MockWebServer 模拟 http 请求 我需要在运行测试之前模拟身份验证响应并登录用户 有没有办法让应用程序使用mockwebserver
  • C# 中的代理/邮箱处理器使用新的 async/await

    这个问题结合了两个我不完全理解的主题 阅读通过paper关于 F 中的异步 我遇到了 Agents MailboxProcessors 主题 它可用于实现反应式状态机 C 5 中新的 async await 功能是否可以用于在 C 中实现类
  • 如何从控制器方法重定向到路由

    我在控制器中定义了一个方法 首先检索输入 如果我的数据库中存在电子邮件字段 我想返回一个视图 但是 如果电子邮件字段不存在 我想重定向到另一条路线 我也想将输入传递给该路线 为了更好地理解我的意思 我的控制器代码如下 public func
  • 更改 matplotlib imshow() 图表轴上的值

    假设我有一些输入数据 data np random normal loc 100 scale 10 size 500 1 32 hist np ones 32 20 initialise hist for z in range 32 his
  • gnuplot:标签部分中的斜体

    对于这个 可能 基本问题感到抱歉 但我刚刚开始使用 gnuplot 我想要创建一个轴标签 其中一部分以斜体显示 就像是 xlabel 不是斜体 斜体 我知道设置标签显示斜体很容易 设置xlabel字体 Times Italic 20 但是是
  • Vista 上的 BDE 初始化失败(错误 $2501)

    我有一个用 Delphi 2007 编写的小型 datasnap 服务器 用于访问 BDE 它在 Windows 2000 和 XP 上运行良好 但在 Vista 上时不时 实际上经常 我收到错误消息 尝试初始化 Borland 数据库引擎
  • Android 中无法播放视频

    视频在下面提到的代码中无法正常工作 这可能是什么问题 MediaController mediaController new MediaController getBaseContext mediaController setAnchorV
  • 如何检测 UIImageView 的触摸事件?

    我在导航栏上放置了一个图像 UIImageView 现在我想检测触摸事件并想要处理该事件 我怎样才能做到这一点 实际上 不要这样做 而是在 UIImageView 上添加一个具有自定义样式的按钮 除非指定图像 否则没有按钮图形 然后附加您想
  • Python中字典的深度合并字典

    我需要合并多个词典 例如 这是我所拥有的 dict1 1 a A 2 b B dict2 2 c C 3 d D With A B C and D是树的叶子 就像 info1 value info2 value2 字典的级别 深度 未知 可
  • 在 Java 临界区中,我应该同步什么?

    在 Java 中 在代码中声明临界区的惯用方法如下 private void doSomething thread safe code synchronized this thread unsafe code thread safe cod
  • 尝试使 Web 方法异步

    我目前正在进行的项目涉及使用会话变量的 MS SQL Server 和 ASP net Web 服务 显然 这会导致客户端的调用以顺序方式执行 我想确保这些方法异步执行 经过一些研究后 在我看来 最好的方法是使用跟踪会话的表 例如使用 gu
  • 将误差线添加到具有多个组的条形图中

    我有以下条形图 我想向其中添加误差线 library lattice barchart Change fTreat groups Process change auto key list points FALSE rectangles TR
  • Spring安全注销转到j_spring_security_logout

    在我的网络应用程序中 当我尝试注销时 它会转到j spring security logout而不是给定的页面 在我的spring security xml我已添加的页面
  • 有没有办法在向 B 提供特定模型的同时从控制器 A 调用的控制器 B 返回 ActionResult?

    假设我有一个控制器 public BController Controller public ActionResult Foo FooViewModel vm 同时 我在另一个控制器 AController 中实现一个操作 我想在其中渲染
  • 如何最好地更新网站免受颠覆

    我有一个由 MySQL 数据库支持的 PHP 网站和一个向 subversion 提交代码的程序员小团队 通常我们编写代码 在本地测试 提交颠覆 然后将更改的文件复制到隐藏区域以进行在线测试 然而 可能会犯错误 有时我想刷新站点 以便毫无疑
  • jQuery 手风琴,将单击的选项卡的开头滚动到顶部,如果展开的选项卡位于单击的选项卡之上,则不起作用?

    让我的 jquery 手风琴做我想做的事情时遇到了一些问题 我总是希望被单击的选项卡从页面顶部滚动到固定数量的像素 并且我有点让它工作了 但是 只要活动选项卡位于被单击的选项卡上方 并且页面已经向下滚动一点 则被单击选项卡的顶部和部分内容就