웹 프론트엔드 JS 튜토리얼 jQuery+css로 구현한 탭 전환 태그(다양한 브라우저와 호환 가능)_jquery

jQuery+css로 구현한 탭 전환 태그(다양한 브라우저와 호환 가능)_jquery

May 16, 2016 pm 03:17 PM
css jquery

이 기사의 예에서는 jQuery+css로 구현된 탭 전환 레이블을 설명합니다. 참고하실 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.

런닝 효과 스크린샷은 다음과 같습니다.

구체적인 코드는 다음과 같습니다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <title>tab切换</title>
 <script src="jquery-1.7.1.min.js" type="text/javascript"></script>
 <script type="text/javascript" >
  (function ($) {
   function set_active(tab, isActive, mode) {
    if (!tab) return;
    if (!isActive) {
     tab.removeClass('active');
     if (mode == "header") {
      var related_body = $(tab.find('a').attr('tab_body'));
      set_active(related_body, false, "body");
     }
    } else {
     tab.addClass('active');
     if (mode == "header") {
      var related_body = $(tab.find('a').attr('tab_body'));
      set_active(related_body, true, "body");
     }
    }
   }
   function change_active(self_$_obj) {
    var _self_tab_header = self_$_obj.parent();
    var prev_active_tab_header = _self_tab_header.parent().find('.active');
    set_active(prev_active_tab_header, false, "header");
    set_active(_self_tab_header, true, "header");
   }
   function init(self) {
    if (self.tab_header_length <= 0) { return; }
    var defaut_active_tab_header = null;
    for (var i = 0, length = self.tab_header_length; i < length; i++) {
     var tab_header = $(self.tab_header_array[i]);
     var tab_header_linker = tab_header.find('a');
     tab_header_linker.attr("tab_body", tab_header_linker.attr("href"));
     tab_header_linker.removeAttr("href");
     tab_header_linker.bind("click", function () {
      change_active($(this));
     });
     if (tab_header.hasClass('active')) {
      defaut_active_tab_header = tab_header;
     }
    }
    if (defaut_active_tab_header) {
     change_active($(defaut_active_tab_header.find('a')));
    } else {
     change_active($(self.tab_header_array[0].find(a)));
    }
   }
   $.fn.c_tab = function () {
    var _self = $(this);
    _self.tab_header_group = _self.find('.tab_header_group');
    _self.tab_header_array = _self.tab_header_group.find('.tab_header');
    _self.tab_header_length = _self.tab_header_array.length;
    if (_self.tab_header_length == 0) {
     return;
    }
    init(_self);
   }
  })($);
  $(document).ready(function () {
   $("#tabContainer").c_tab();
  });
 </script>
 <style type="text/css" >
  body { margin:0; padding:0; background:#DFEFFF; }
  #tabContainer { width:500px; height:300px; margin-left:200px; margin-top:50px; border-radius:4px; -webkit-border-radius:4px; -moz-border-radius:4px; }
  .tab_header_group { color:Green; z-index:10; background:#DDDDDD url('img/navbg1.jpg'); width:100%; padding:0; margin:0; border-bottom:1px solid gray; border-radius:4px 4px 0 0;}
  .tab_header { line-height:30px; font-size:14px; display:inline-block; cursor:pointer; margin-right:-3px; *display:inline; zoom:1; padding-left:10px; padding-right:10px; border-radius:4px 4px 0 0; }
  .tab_header a,a:hover { text-decoration:none; }
  .tab_header:hover { background:#F5F5F5; }
  .tab_header_group .active { margin-bottom:0px; background:gray; color:#fff; }
  .tab_body { margin-top:1px; display:none; }
  .tab_body_group .active { display:block; }
 </style>
</head>
<body>
<div id="tabContainer">
 <ul class="tab_header_group">
  <li class="tab_header"><a href="#tab1" >首页1</a></li>
  <li class="tab_header"><a href="#tab2" >首页2</a></li>
  <li class="tab_header active"><a href="#tab3" >首页3</a></li>
  <li class="tab_header"><a href="#tab4" >首页4</a></li>
  <li class="tab_header"><a href="#tab5" >首页5</a></li>
 </ul>
 <div class="tab_body_group">
  <div id="tab1" class="tab_body" style="width:100%; height:200px; background:#F2F2F2;">
   tab1
  </div>
  <div id="tab2" class="tab_body" style="width:100%; height:200px; background:#F2F2F2;">
   tab2
  </div>
  <div id="tab3" class="tab_body" style="width:100%; height:200px; background:#F2F2F2;">
   tab3
  </div>
  <div id="tab4" class="tab_body" style="width:100%; height:200px; background:#F2F2F2;">
   tab4
  </div>
  <div id="tab5" class="tab_body" style="width:100%; height:200px; background:#F2F2F2;">
   tab5
  </div>
 </div>
</div>
</body>
</html>

로그인 후 복사

더 많은 jQuery 관련 콘텐츠에 관심이 있는 독자는 이 사이트의 특별 주제인 "jQuery 애니메이션 및 특수 효과 사용 요약" 및 "일반적인 클래식 특수 효과 요약"을 확인할 수 있습니다. jQuery"

이 기사가 jQuery 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

그라디언트 배경으로 카드 및 쿠폰 레이아웃에 대한 갭 효과를 달성하는 방법은 무엇입니까? 그라디언트 배경으로 카드 및 쿠폰 레이아웃에 대한 갭 효과를 달성하는 방법은 무엇입니까? Apr 05, 2025 am 07:48 AM

카드 쿠폰 레이아웃의 갭 효과를 실현하십시오. 카드 쿠폰 레이아웃을 설계 할 때 특히 배경이 그라디언트 일 때 카드 쿠폰에 간격을 추가 해야하는 경우가 종종 있습니다.

부트 스트랩은 직접 수평 폭포 흐름 레이아웃을 구현할 수 있습니까? 부트 스트랩은 직접 수평 폭포 흐름 레이아웃을 구현할 수 있습니까? Apr 05, 2025 am 07:15 AM

부트 스트랩 프레임 워크를 사용하여 수평 폭포 흐름 레이아웃을 구축하는 많은 개발자들이 부트 스트랩 프레임 워크를 사용하여 웹 페이지를 신속하게 구축하고 다양한 복잡한 레이아웃 효과를 달성하기를 희망합니다 ...

PC 페이지 줌 후에 스타일은 동일하게 유지됩니다. 가능한 솔루션은 무엇입니까? PC 페이지 줌 후에 스타일은 동일하게 유지됩니다. 가능한 솔루션은 무엇입니까? Apr 05, 2025 am 07:51 AM

페이지 스타일을 확대하고 페이지를 확대 한 후에 동일하게 유지하는 데 어려움이 있습니다. 많은 개발자가 PC 페이지를 만들 때 어려운 문제에 직면하게됩니다. 사용자가 브라우징을 확대 할 때 ...

우수한 CSS 효과 디스플레이를 배우고 즐기는 데 적합한 웹 사이트는 무엇입니까? 우수한 CSS 효과 디스플레이를 배우고 즐기는 데 적합한 웹 사이트는 무엇입니까? Apr 05, 2025 am 07:09 AM

다양한 CSS 효과 디스플레이 웹 사이트 탐색 다양한 CSS 효과를 배우고 이해하는 데 관심이 있다면 올바른 자원을 찾는 것이 매우 중요합니다. 에 관계없이...

CSS 오버플로 : 자동은 유효하지 않습니다. 부모 요소 z-index의 음수 값이 범인입니까? CSS 오버플로 : 자동은 유효하지 않습니다. 부모 요소 z-index의 음수 값이 범인입니까? Apr 05, 2025 am 07:12 AM

CSS 스크롤 막대 실패 문제 해결 : 오버플로 : 자동 고장 원인 CSS를 사용하여 컨테이너 오버플로 설정 : 자동 ...

기업 웹 사이트의 2K 해상도 렌더링 : 고객의 디스플레이 환경에 어떻게 완벽하게 적응할 수 있습니까? 기업 웹 사이트의 2K 해상도 렌더링 : 고객의 디스플레이 환경에 어떻게 완벽하게 적응할 수 있습니까? Apr 05, 2025 am 07:21 AM

엔터프라이즈 웹 사이트 렌더링 설계 : 2K 해상도의 요구를 처리하는 방법. 회사 웹 사이트를 설계 할 때 고객은 종종 특별 해상도 요구 사항을 만나게됩니다.

CSS 코드만으로 불규칙한 모양 블록을 만드는 방법은 무엇입니까? CSS 코드만으로 불규칙한 모양 블록을 만드는 방법은 무엇입니까? Apr 05, 2025 am 07:39 AM

CSS를 영리하게 사용하여 불규칙한 모양 블록을 구현하는이 기사는 CSS를 사용하여 아래 그림과 비슷한 불규칙한 검은 색 형태 블록을 만드는 방법에 대해 자세히 설명합니다. [여기에 삽입해야합니다 ... ... 여기에 삽입해야합니다 ... ...

See all articles