I am using jQuery UI tabs to create a vertical tab section of a page, and want the last vertical tab to link out to a URL rather than load a tab panel.
Any suggestions for the best way to do this? I can stick another element besides an LI into the list, but would rather have the last li just behave differently.
Thanks for any help.
Here's my javascript:
// vtabs
$("#aboutprod-tabs").tabs(
{ fx: [{opacity:'toggle', duration:'normal'},
{opacity:'toggle', duration:'fast'}] })
.addClass('ui-tabs-vertical');
And HTML
<div id="aboutprod-tabs">
<ul>
<li><a href="#tabs-1">First</a></li>
<li><a href="#tabs-2">Second</a></li>
<li><a href="#tabs-3">3rd</a></li>
<li class="last"><a href="/products">Learn more...</a></li>
</ul>
<div id="tabs-1">
Tab panel 1
</div>
<div id="tabs-2">
Tab panel 2
</div>
<div id="tabs-3">
Tab panel 3
</div>
</div>
After your .tabs()
call you can reverse the click behavior and href
it changed, putting the href
back like this:
$("li.last a").unbind('click').click(function() {
this.href = $.data(this, 'href.tabs');
});
Update: Using newer versions of jQuery:
There is no need to add a click handler once you unbind jQuery-UI's click handler from the link you want to change. This will work:
$("li.last a").unbind('click');