ですから、これは目標が十分に単純なものの 1 つですが、1 日を終えてもまだ困惑しています。drupal を使用して、jquery ui タブ内の名前付きアンカーにリンクしようとしています。私が見つけることができた最も有望なものはここにありました: Link to an anchor within JQuery tabbed content、しかし私はそれを機能させることができませんでした。履歴がオンになっており、リンクで「goto」パラメーターを使用しています。
私が使用しているjavascriptは次のとおりです。
更新、以下の新しいjquery。リンクをクリックすると適切なタブに移動していますが、アンカーまでスクロールするのではなく、ページが同じ場所にとどまっています
jQuery(document).ready(function($) {
$('a[goto]').click(function(evt) {
evt.preventDefault();
var whereTo = $(this).attr('goto');
$tabs = $("ul.ui-tabs-nav li");
$tabs.find('a[href=#' + whereTo + ']').trigger('click');
//alert(attr('name'));
//alert( $('#'+whereTo+' a').offset().top );
$('html, body').animate({
scrollTop: $('#'+whereTo+' a').offset().top
});
});
});
関連する html 構造は次のとおりです。
<div id="quicktabs-event" class="quicktabs-ui-wrapper qt-ui-tabs-processed-processed ui-tabs ui-widget ui-widget-content ui-corner-all">
<ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">
<li class="ui-state-default ui-corner-top">
<li class="ui-state-default ui-corner-top">
<li class="ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-focus">
<a href="#qt-event-ui-tabs3" tabindex="2">Classes</a>
</li>
<li class="ui-state-default ui-corner-top">
<::after>
</ul>
<div id="qt-event-ui-tabs1" class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide">
<div id="qt-event-ui-tabs2" class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide">
<div id="qt-event-ui-tabs3" class="ui-tabs-panel ui-widget-content ui-corner-bottom">
<div id="qt-event-ui-tabs4" class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide">
</div>
</div>
<::after>
</div>
</div>
助けていただければ幸いです。