gpt4 book ai didi

jquery - 从另一个网页上的链接选择 JQUERY 选项卡中的 anchor

转载 作者:行者123 更新时间:2023-12-01 01:15:37 24 4
gpt4 key购买 nike

我在 JQuery 和 Javascript 方面是个新手,希望你能帮助我解决我的问题。

我正在使用 JQuery 1.7.2 和 JQuery-ui 1.10.3 选项卡。

从外部 URL,我希望能够链接到位于 JQuery 选项卡内的 anchor ,但是选项卡名称本身也是一个 anchor 。

我知道如何激活 anchor 所在的选项卡

e.g. http://mysite.com/#tab-1 

但是我该去哪里呢?

如何从 URL 指定要链接到的位于 tab-1 中的 anchor ?

e.g. http://mysite.com/#tab-1#myanchor

这是 HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<link href="/css/jquery-ui-1.10.3.custom.css" rel="stylesheet" type="text/css" media="all"/>
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script>
$(function()
{var tabs = $( "#tabs" ).tabs();
tabs.find( ".ui-tabs-nav" ).sortable(
{axis: "x",
stop: function()
{tabs.tabs( "refresh" );
}
}
);
}
);
</script>
</head>

<body>
<div id="tabs">
<ul>
<li><a href="#tab-1">1st Tab</a></li>
<li><a href="#tab-2">2nd Tab</a></li>
<li><a href="#tab-3">3rd Tab</a></li>
</ul>
<div id="tab-1">
<h2>1st Tab</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Maecenas at dui tempor, adipiscing nisl id, tempus nisi.
Donec posuere pulvinar lacus, non suscipit eros ultrices.
</p>
</div> <!-- end of tab-1 div -->

<div id="tab-2">
<h2>2nd Tab</h2>
<p>Suspendisse lacus mi, ornare quis nulla eget, commodo
auctor arcu. Proin ut erat vestibulum, vestibulum odio
sit amet, dapibus nisi. Morbi nec semper mi.
</p>
</div> <!-- End of tab-2 div -->

<div id="tab-3">
<h2>3rd Tab</h2>
<p>Proin ullamcorper ornare ultricies. Morbi bibendum
mauris eu purus rhoncus, id lacinia sapien placerat.
Nunc euismod lectus eu elit accumsan dignissim.
</p>
<p><b><span id="myanchor">Anchor is here</span></b>
</p>
</div> <!-- End of tab-3 div -->
</div> <!-- End of tabs div -->
</body>

如有任何帮助,我们将不胜感激。谢谢

最佳答案

通过在 URL 中提供选项卡名称和 anchor 名称,然后使用 JavaScript 对其进行解析,我设法自己使其正常工作。

接下来,我将选项卡编号传递给 jquery 以打开选项卡,并对 anchor 执行简单的动画滚动。

例如网址是 http://www我的网站 com#tab-3&#myanchorJavaScript 是

$(document).ready(function(){
var hash_parts = location.hash.split('&', 2); //2 - limit, may be changed if more than two arguments.
var tab = hash_parts[0]; // Tab number part of url. Array starts at 0 for 1st element.
var anc = hash_parts[1]; // Anchor name.
var tabId = tab.split("-").pop()-1; // Tab no. relating to Jquery ui index no. (starts at zero for tab 1.)

$("#tabs").tabs("option", "active", tabId); // Select the tab.
$('html, body').animate({'scrollTop': $(anc).offset().top}, 1000); // Animated scroll to anchor.
});

这是使用 JQuery UI 1.10.3 和 JQuery 1.7.2

要使用移动设备解决问题​​,有时会将第二个 # 变成 %23。

要修复该错误,您可以在最后一行上方添加此行:

  if(anc !== ''){
anc = anc.replace('%23', '#');
}

关于jquery - 从另一个网页上的链接选择 JQUERY 选项卡中的 anchor ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17614597/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com