2013-01-07 2 views
0

HTML :다기능 탭

<ul class="tabs"> 
<li><a href="#tab-one" class="current">Residential</a></li> 
<li><a href="#tab-two">Commercial</a></li> 
<li><a href="#tab-three">Agricultural</a></li> 
</ul> 

<div id="tab-one" class="tab_container"> 
    <div class="quick-search"> 
    <h2>Tab 1 - Quick Search:</h2> 
    <form action="#" method="post"> 
     <label for="quick-search-1" class="screen-reader-text">Quick Search:</label> 
     <input type="text" name="quick-search-1" id="quick-search-1" value="" placeholder="e.g. search"/> 
      <button class="quick-search-submit" class="button" type="submit">Submit</button> 
     </form> 
    </div> 
    <div class="adv-search"> 
    <h2>Tab 1 - Advanced Search:</h2> 
    <form action="#" method="post"> 
     <label for="adv-search-1" class="screen-reader-text">Search:</label> 
     <input type="text" name="adv-search-1" id="adv-search-1" value="" placeholder="e.g. search"/> 
      <button class="adv-search-submit" class="button" type="submit">Submit</button> 
     </form> 
    </div> 
</div> 

<div id="tab-two" class="tab_container"> 
    <div class="quick-search"> 
    <h2>Tab 2 - Quick Search:</h2> 
    <form action="#" method="post"> 
     <label for="quick-search-2" class="screen-reader-text">Quick Search:</label> 
     <input type="text" name="quick-search-2" id="quick-search-2" value="" placeholder="e.g. search"/> 
      <button class="quick-search-submit" class="button" type="submit">Submit</button> 
     </form> 
    </div> 
    <div class="adv-search"> 
    <h2>Tab 2 - Advanced Search:</h2> 
    <form action="#" method="post"> 
     <label for="adv-search-2" class="screen-reader-text">Search:</label> 
     <input type="text" name="adv-search-2" id="adv-search-2" value="" placeholder="e.g. search"/> 
      <button class="adv-search-submit" class="button" type="submit">Submit</button> 
     </form> 
    </div> 
</div> 

<div id="tab-three" class="tab_container"> 
    <div class="quick-search"> 
    <h2>Tab 3 - Quick Search:</h2> 
    <form action="#" method="post"> 
     <label for="quick-search-3" class="screen-reader-text">Quick Search:</label> 
     <input type="text" name="quick-search-3" id="quick-search-3" value="" placeholder="e.g. search"/> 
      <button class="quick-search-submit" class="button" type="submit">Submit</button> 
     </form> 
    </div> 
    <div class="adv-search"> 
    <h2>Tab 3 - Advanced Search:</h2> 
    <form action="#" method="post"> 
     <label for="adv-search-3" class="screen-reader-text">Search:</label> 
     <input type="text" name="adv-search-3" id="adv-search-3" value="" placeholder="e.g. search"/> 
      <button class="adv-search-submit" class="button" type="submit">Submit</button> 
     </form> 
    </div> 
</div> 

<div class="advanced-search"> 
    <span>Advanced Search</span> 
</div> 

jQuery를 :

$('.tab_container:not(:first)').hide(); 

$('ul.tabs li a').click(function(){ 
    var t = $(this).attr('href'); 
    $('.tab_container').hide(); 
    $(t).fadeIn('slow'); 
    return false; 
}); 

이 모든 현재 클릭 한 탭 관련 탭 내용입니다 않습니다.

먼저 각 탭을 클릭 할 때마다 '빠른 검색'만 표시해야합니다. 그런 다음 사용자가 고급 검색 범위를 클릭하면 빠른 검색 div가 고급 검색 div로 토글됩니다.

이것이 가능할까요?

보기 내 현재 당신은 전환 단지 수 jsFiddle

답변

1

각 현재 보이는 DIV 하나의 내부

$('ul.tabs li a').click(function() { 
    var t = $(this).attr('href'); 
    $('.tab_container').hide(); 
    $(t).fadeIn('slow'); 
    updateWord(); 
    return false; 
}); 
// on advanced-search div click 
$('.advanced-search').click(function() { 
    // toggle both divs inside the visible div 
    $('div.tab_container:visible').find('.quick-search,.adv-search').toggle(); 
    updateWord(); 
}); 
// function to update wording on div 
function updateWord() { 
    var c = $('div.tab_container:visible').find('div:visible').attr('class'); 
    $('.advanced-search').text(function (i, v) { 
    return c.split('-')[0] == 'quick' ? v.replace('Quick', 'Advanced') : v.replace('Advanced', 'Quick') 
    }); 
} 

FIDDLE

+0

대단히 감사합니다. 어떻게하셨습니까? et를 jQuery에 추가하고 리소스를 배우는 등 나에게 더 잘하기 위해 무엇을 제안하겠습니까? – Rob

+0

여기를 통해 항목을 읽고 그것이 당신의 방법에 얻을 도움이 될 것입니다 :) http://stackoverflow.com/tags/jquery/info –

+0

또한 그냥 div를 토글하는 대신, 좋은 hide/show 슬라이드 효과가 있을까요? – Rob

0

그냥 바이올린 조금 놀고 난이 변경을

$('.tab_container:not(:first)').hide(); 
$('.adv-search').hide(); 
$('ul.tabs li a').click(function(){ 
    var t = $(this).attr('href'); 
    $('.tab_container').hide(); 
    $(t).fadeIn('slow'); 
    return false; 
}); 

$('.advanced-search').click(function(){ 
    var curTab = $('.tab_container:visible'); 
    curTab.find('.quick-search').hide() 
    curTab.find('.adv-search').show(); 
}); 
+0

좋지만 토글되지 않습니다. advanced/quick divs 및 dosn't는 위 검색 방법처럼 빠른 검색으로 고급 검색 범위를 변경합니다. 좋은 노력 그래도 :) – Rob

+0

차가운. 귀하의 요청을 이해하기가 어려웠습니다. 다행 이군. – Charles

+0

네, 때로는 정확히 내 머리 속에 무엇이 있는지를 설명하는 것이 어렵다는 것을 알게됩니다! 비록 도움이되는 것을위한 위도 – Rob