Home  >  Article  >  Web Front-end  >  Why Are My jQuery Tabs Not Working Properly in My CMS?

Why Are My jQuery Tabs Not Working Properly in My CMS?

DDD
DDDOriginal
2024-10-25 12:04:30808browse

Why Are My jQuery Tabs Not Working Properly in My CMS?

How to Build Simple Tabs with jQuery

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn