从另一个网页上的链接中选择JQUERY选项卡中的锚点

我是JQuery和Javascript的新手,希望你能解决我的问题。

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

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

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

eg http://mysite.com/#tab-1 

但是我从哪里去?

如何从URL中指定要链接到tab-1中的锚点?

 eg http://mysite.com/#tab-1#myanchor 

这是HTML

     Untitled Document     $(function() {var tabs = $( "#tabs" ).tabs(); tabs.find( ".ui-tabs-nav" ).sortable( {axis: "x", stop: function() {tabs.tabs( "refresh" ); } } ); } );    

1st Tab

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.

2nd Tab

Suspendisse lacus mi, ornare quis nulla eget, commodo auctor arcu. Proin ut erat vestibulum, vestibulum odio sit amet, dapibus nisi. Morbi nec semper mi.

3rd Tab

Proin ullamcorper ornare ultricies. Morbi bibendum mauris eu purus rhoncus, id lacinia sapien placerat. Nunc euismod lectus eu elit accumsan dignissim.

Anchor is here

任何帮助将不胜感激。 谢谢

我发现了这个,这对你有帮助吗?

http://raw10.cust.magicedit.com/sandbox/jqueryTabs/

我设法通过在URL中提供选项卡名称和锚名称,然后使用javascript解析它来使自己工作。

然后,我将选项卡号传递给jquery以打开选项卡并对锚点进行简单的动画滚动。

例如,URL是http:// www mysite com#tab-3&#myanchor javascript is

 $(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', '#'); }