jquery - 从外部页面链接到 Jquery UI 选项卡滚动到页面底部

标签 jquery jquery-ui tabs jquery-ui-tabs

当从外部页面链接到 jqueryui 选项卡时,我使用

<a href="page.html#tab-3">link</a> 

并且在大多数情况下,当页面加载并显示相应选项卡时,此功能正常。

当我在这些选项卡之一中有大量内容时,问题就开始了。当页面首次加载时,选项卡内容加载时没有 jquery 样式(作为一个长线性列表),然后加载 jqueryui 样式,但我滚动到页面底部。

我知道我滚动到页面底部,因为这是页面加载时#tab-3 ID/NAME 的位置。然后我如何链接到父选项卡组而不是我链接到的 ID?

我实际上希望在选项卡组上方滚动约 50px,以便我们的访问者可以看到选择了哪个选项卡。

我正在使用 jquery 1.10.2 和 jquery-ui-1.10.3。

最佳答案

When the page first loads the tab contents loads without jquery styling (as a long linear list)

首先让我们解决加载问题...

更好地加载选项卡的一个简单解决方法是在选项卡的父级上设置 display: none; ,然后使用 .show() 让它们出现一次一切都很好并且加载如下:

#tabs {
    display:none;
}

 $(function () {
     $("#tabs").show().tabs();
 });

现在讨论主要问题...令人惊讶的是,通过在选项卡内容中添加负上边距和一些填充可以轻松解决这个问题

.ui-tabs .ui-tabs-panel {
    padding-top: 65px;
    margin-top: -50px;
}

基本上,您是用负边距向上拉动面板,然后用内边距将面板中的内容推回原处。这会将面板的顶部带到选项卡小部件的顶部,并在导航到指定选项卡的页面时让选项卡链接舒适地停留在 View 中,从而产生令人愉快的副作用。

<强> Working Example, external links to specific tabs
Working Example showing relevant code

关于jquery - 从外部页面链接到 Jquery UI 选项卡滚动到页面底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19966184/

相关文章:

JQuery 验证插件不适用于 JQuery 版本 1.11.2

javascript - 使用小部件工厂扩展时,JQuery UI Droppable 贪婪选项不起作用

html - 如何在事件选项卡上制作三 Angular 形

jquery - 添加视差滚动时未定义 Javascript $window

jquery - 当 json 字符串中有 & 登录时,http post 请求中的数据中断

javascript - 使用数据创建菜单

javascript - 带有 jQ​​uery UI 图标按钮的 jQuery Accordion 标题(隐藏/显示 + 悬停/单击)

jquery - 如何拖放克隆的 HTML 元素

visual-studio - 使所有打开的文档选项卡可见

java - 带选项卡的 JFace 对话框