Problem: You've implemented tabs on your website using jQuery, but they're not working properly within a bespoke CMS. Without JavaScript, the tabs act as jump links, but with it, the tabbed content doesn't show.
Provided Input:
HTML code for the tabs:
<code class="html"><ul id="tabs"> <li><a href="#tab1">test1</a></li> <li><a href="#tab2">test2</a></li> ... </ul> ... <div class="container" id="tab1">Some content</div> ...</code>
jQuery code:
<code class="javascript">$('#tabs li a:not(:first)').addClass('inactive'); $('.container').hide(); $('.container:first').show(); ...</code>
Modified Solution:
The provided solution assumes that clicking a tab's href reloads the website. To resolve this, the href attributes have been removed, and the click handler is revised:
Updated jQuery:
<code class="javascript">$('#tabs li a').click(function() { var t = $(this).attr('id'); if ($(this).hasClass('inactive')) { // Start of the condition $('#tabs li a').addClass('inactive'); $(this).removeClass('inactive'); $('.container').hide(); $('#' + t + 'C').fadeIn('slow'); } });</code>
Revised HTML Markup:
<code class="html"><ul id="tabs"> <li><a id="tab1">test1</a></li> <li><a id="tab2">test2</a></li> ... </ul> ... <div class="container" id="tab1C">1Some content</div> ...</code>
With these changes, whether you click the tabs with or without JavaScript enabled, the website will handle the navigation correctly.
The above is the detailed content of Why Are My jQuery Tabs Not Working Properly in My CMS?. For more information, please follow other related articles on the PHP Chinese website!