2016-11-29 2 views
0

У меня этот код. Я хочу иметь возможность открыть содержимое div прямо под тегом li a. Как это возможно?bootstrap - открыть div под биркой

FIDDLE

$(document).ready(function() { 
 
     $('.nav ul li:first').addClass('active'); 
 
     $('.tab-content:not(:first)').hide(); 
 
     $('.nav ul li a').click(function(event) { 
 
     event.preventDefault(); 
 
     var content = $(this).attr('href'); 
 
     $(this).parent().addClass('active'); 
 
     $(this).parent().siblings().removeClass('active'); 
 
     $(content).show(); 
 
     $(content).siblings('.tab-content').hide(); 
 
     }); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="col-xs-12"> 
 
    <div class=row> 
 
    <div class="col-xs-12"> 
 
     <div class="nav"> 
 
     <ul> 
 
      <li><a href="#a">Option A</a> 
 
      </li> 
 
      <li><a href="#b">Option B</a> 
 
      </li> 
 
      <li><a href="#c">Option C</a> 
 
      </li> 
 
     </ul> 
 
     </div> 
 
    </div> 
 
    <div class="col-xs-12"> 
 
     <div id="a" class="tab-content"> 
 
     <h2>Option A</h2> 
 
     <p>Option A</p> 
 
     </div> 
 
     <div id="b" class="tab-content"> 
 
     <h2>Option B</h2> 
 
     <p>Option B</p> 
 
     </div> 
 
     <div id="c" class="tab-content"> 
 
     <h2>Option C</h2> 
 
     <p>Option C</p> 
 
     </div> 
 
    </div> 
 
    </div> 
 
</div>

+0

использовать выпадающий бутстрапе –

+1

Это происходит, как ожидается, прямо в скрипку? Какая проблема? –

+0

@PraveenKumar nope он должен быть прямо под родительским тегом 'li a'. – user2281858

ответ

1

 var positioning = function ($li) { 
 
      if ($li.css('position') == 'relative') { 
 
       var pos = $li.position(); 
 
       $($li.find('a:first').attr('href')).css({ 
 
        position: "absolute", 
 
        top: pos.top + "px", 
 
        left: pos.left + "px" 
 
       }); 
 
      } 
 
     }; 
 
     $(document).ready(function() { 
 
      positioning($('.nav ul li:first').addClass('active')); 
 
      $('.tab-content:not(:first)').hide(); 
 
      $('.nav ul li a').click(function (event) { 
 
       event.preventDefault(); 
 
       var content = $(this).attr('href'); 
 
       $(this).parent().addClass('active'); 
 
       $(this).parent().siblings().removeClass('active'); 
 
       $(content).parents('.content').find('.tab-content').hide(); 
 
       positioning($(this).parent()); 
 
       $(content).show(); 
 
      }); 
 
     });
 @media (max-device-width: 479px) 
 
     { 
 
      .nav li.active { 
 
       position: relative; 
 
       min-height: 100px; 
 
      } 
 
     }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="col-xs-12"> 
 
     <div class=row> 
 
      <div class="col-xs-12"> 
 
       <div class="nav"> 
 
        <ul> 
 
         <li> 
 
          <a href="#a">Option A</a> 
 
         </li> 
 
         <li> 
 
          <a href="#b">Option B</a> 
 
         </li> 
 
         <li> 
 
          <a href="#c">Option C</a> 
 
         </li> 
 
        </ul> 
 
       </div> 
 
      </div> 
 
      <div class="col-xs-12 content"> 
 
       <div id="a" class="tab-content"> 
 
        <h2>Option A</h2> 
 
        <p>Option A</p> 
 
       </div> 
 
       <div id="b" class="tab-content"> 
 
        <h2>Option B</h2> 
 
        <p>Option B</p> 
 
       </div> 
 
       <div id="c" class="tab-content"> 
 
        <h2>Option C</h2> 
 
        <p>Option C</p> 
 
       </div> 
 
      </div> 
 
     </div> 
 
    </div>

+0

, как он может открыть способ работы с настольными устройствами? – user2281858

+0

ah Я вижу, вы хотите, чтобы встроенный контент div был открыт ниже 'li a' только на мобильных устройствах. Это верно? –

+0

да это правильный. Я хочу сохранить целостную структуру. Я не уверен, что это возможно с текущей структурой html. – user2281858

Смежные вопросы