Skip to content

Commit

Permalink
Bugfix that fixes a reset of the tabs counter when accessibleTabs() w…
Browse files Browse the repository at this point in the history
…as called more than once on a page

version bump to 1.9.2
  • Loading branch information
Dirk Ginader committed Dec 14, 2011
1 parent 0cc5e09 commit 8f53894
Show file tree
Hide file tree
Showing 2 changed files with 84 additions and 3 deletions.
16 changes: 13 additions & 3 deletions js/jquery.tabs.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
* Version: 1.9.1
* Version: 1.9.2
*
* History:
* * 1.0 initial release
Expand Down Expand Up @@ -57,6 +57,9 @@
* * 1.9.1 by Michael Schulze:
* * * firstNavItemClass and lastNavItemClass to define a custom classname on the first and last tab
* * * wrapInnerNavLinks: inner wrap for a-tags in tab navigation.
* * 1.9.2
* * * Bugfix by Dirk Jesse: fixing an issue that happened when passing multiple selectors to the init call instead of one
* * * Bugfix that fixes a reset of the tabs counter when accessibleTabs() was called more than once on a page
*/


Expand Down Expand Up @@ -104,6 +107,13 @@
bottom : 'append'
};
this.options = $.extend(defaults, config);

var tabsCount = 0;
if($("body").data('accessibleTabsCount') !== undefined){
tabsCount = $("body").data('accessibleTabsCount');
}
$("body").data('accessibleTabsCount',this.size()+tabsCount);

var o = this;
return this.each(function(t) {
var el = $(this);
Expand All @@ -123,8 +133,8 @@
}
id =' id="'+elId+'"';
}
var tabId = o.getUniqueId('accessibletabscontent', t, i);//get a unique id to assign to this tab's heading
var navItemId = o.getUniqueId('accessibletabsnavigation', t, i);//get a unique id for this navigation item
var tabId = o.getUniqueId('accessibletabscontent', tabsCount+t, i);//get a unique id to assign to this tab's heading
var navItemId = o.getUniqueId('accessibletabsnavigation', tabsCount+t, i);//get a unique id for this navigation item
ids.push(tabId);
if(o.options.cssClassAvailable === true) {
var cssClass = '';
Expand Down
71 changes: 71 additions & 0 deletions simple-custom-events.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Basic - Accessible Tabs Example</title>
<meta name="author" content="Dirk Ginader">
<script type="text/javascript">document.documentElement.className += " js";</script>
<link rel="stylesheet" href="slidingdoors/simple-sliding-doors.css" type="text/css" media="screen">
<script src="js/jquery-1.3.1.js" type="text/javascript" charset="utf-8"></script>
<script src="js/jquery.tabs.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">

$(document).ready(function(){
window.tabs = $(".tabs").accessibleTabs({
tabhead:'h2',
fx:"fadeIn"
}).bind('accessibleTabsOnInit', function(e) {
alert(e);
});
console.log('tabs:');
console.log(tabs);
//$('body').trigger('foo', [ 'bar', 'bam' ]); // alerts 'bar: bam'
});

</script>
</head>
<body>
<h1>Custom Events - Accessible Tabs Example</h1>
<div class="tabs">
<h2>some dummy text</h2>
<div class="tabbody">
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam malesuada suscipit pede. Nullam ipsum lacus, varius vel, nonummy in, consequat ut, neque. </p>
<h3>Lorem ipsum</h3>
<p>Nullam malesuada suscipit pede. Nullam ipsum lacus, varius vel, nonummy in, consequat ut, neque. Vivamus viverra. Duis dolor arcu, lacinia sit amet, sollicitudin sed, aliquet vel, quam. Pellentesque molestie laoreet tortor. Aenean quam. Pellentesque magna metus, venenatis sit amet, congue nec, dictum in, est. Aliquam nibh. </p>
</div>
<h2>some more dummy text</h2>
<div class="tabbody">
<p>Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. </p>
<p>Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque</p>
</div>
<h2>anything else</h2>
<div class="tabbody">
<p>Here could be your content</p>
</div>
</div>
<h2>Usage</h2>
<pre><code>
$(document).ready(function(){
<strong>$(".tabs").accessibleTabs({
tabhead:'h2',
fx:"fadeIn"</strong>
});
});
</code></pre>
<p class="about">
Want to learn more about this? <a href="http://blog.ginader.de/archives/2009/02/07/jQuery-Accessible-Tabs-How-to-make-tabs-REALLY-accessible.php">jQuery Accessible Tabs - How to make tabs REALLY accessible<br></a>
Or check out <a href="index.html">more Examples</a>
</p>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-299719-2");
pageTracker._initData();
pageTracker._trackPageview();
</script>
</body>
</html>

0 comments on commit 8f53894

Please sign in to comment.