2015-09-17 4 views
1

В настоящее время я создаю веб-сайт с использованием Bootstrap, и проблема в том, что в гибком меню дисплея я хочу сделать вывод ввода для поиска по другим вещам, но я не могу этого сделать. Я использую jQuery.Выполнение отображения ввода над другими элементами

Предполагаемое использование: при нажатии на значок значка поиска он отображает скрытый ввод по другим элементам в полном размере, снова нажимает кнопку и делает ее неуправляемой, но я не могу понять, давая ширину 100% форме, но она разбивает макет. Я связываю jsfiddle, чтобы просветить его. Также эти кнопки и формы видны только при небольших разрешениях.

HTML

<nav class="navbar navbar-default"> 
    <div class="container-fluid"> 
    <!-- Brand and toggle get grouped for better mobile display --> 
    <div class="navbar-header"> 
     <a class="navbar-brand" href="#">TEST SITE</a> 
     <form id="form-search" class="navbar-form navbar-collapse visible-xs pull-right" role="search"> 

    <div class="input-group"> 
     <input type="text" class="form-control" placeholder="Buscar"> 
     <span class="input-group-btn"> 
      <button class="btn btn-default" type="button"><span class="glyphicon glyphicon-search"</span></button> 
     </span> 
    </div> 

     </form> 
     <button id="colapsador" type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"> 
     <span class="sr-only">Toggle navigation</span> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
     </button> 
     <button id="navi-btn" type="button" class="visible-xs btn btn-default pull-right"> 
      <span class="glyphicon glyphicon-map-marker"></span> 
     </button> 
    </div> 

    <!-- Collect the nav links, forms, and other content for toggling --> 
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> 
    <div> 
     <ul class="nav navbar-nav"> 
     <li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li> 
     <li><a href="#">Link</a></li> 
     <li class="dropdown"> 
      <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a> 
      <ul class="dropdown-menu"> 
      <li><a href="#">Action</a></li> 
      <li><a href="#">Another action</a></li> 
      <li><a href="#">Something else here</a></li> 
      <li role="separator" class="divider"></li> 
      <li><a href="#">Separated link</a></li> 
      <li role="separator" class="divider"></li> 
      <li><a href="#">One more separated link</a></li> 
      </ul> 
     </li> 
     </ul> 
     </div> 
     <div> 
     <ul class="nav navbar-nav navbar-right"> 
     <li><a href="#">Link</a></li> 
     <li class="dropdown"> 
      <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a> 
      <ul class="dropdown-menu"> 
      <li><a href="#">Action</a></li> 
      <li><a href="#">Another action</a></li> 
      <li><a href="#">Something else here</a></li> 
      <li role="separator" class="divider"></li> 
      <li><a href="#">Separated link</a></li> 
      </ul> 
     </li> 
     </ul> 
     </div> 
    </div><!-- /.navbar-collapse --> 
    </div><!-- /.container-fluid --> 
</nav> 
<div class="container"> 
    <div class="row"> 
     <div class="col-lg-12"> 
      <h1>Some site</h1> 
      <p>Some text</p> 
     </div> 
    </div> 
</div> 

Javascript

$('#form-search button').click(function(){ 
     $(this).css({ 
      'border-top-left-radius':'0', 
      'border-bottom-left-radius':'0' 
     }).addClass('active'); 
     $('#form-search').css('width','100%'); 
     $('#form-search .form-control').css({ 
      'display':'inherit', 
      'width':'100%', 
     }); 
    }); 

CSS

#form-search{ 
border: none; 
margin-top: -2px; 
margin-right: -0.5em; 
width:4.8em; 
z-index: 6; 
} 
#form-search .form-control{ 
    display:none; 
    z-index: 100; 
} 
#form-search .input-group-btn button{ 
    border-top-left-radius:4px; 
    border-bottom-left-radius: 4px; 
} 
#navi-btn{ 
    margin-top: 8px; 
    margin-right: 0.5em; 
    z-index: 1; 
} 
#colapsador{ 
    margin-right: 0.5em; 
    z-index: 1; 
} 

свойства Z-индекс, кажется, не работает, и если кто-нибудь может просветить меня о том, как восстановить оригинал Свойства css при нажатии кнопки снова были бы хороши, но это не моя главная забота, я мог бы найти его ove р.

http://jsfiddle.net/8vv0dgLc/

ответ

0

Updated fiddle.

Я не уверен, но попробуйте изменить width от 100% до 50% в:

$('#form-search').css('width','50%'); 

Я думаю, что решить эту проблему, надеюсь, что это помогает.

+0

К сожалению, это не ведет себя правильно иконки еще понизиться позиции и на небольших устройствах, вероятно, будет более пресловутый –

0

свойство Z-индекс, кажется, не работает

Для г-индекса, вам необходимо иметь position:absolute каждый элемент, который вы хотите иметь Z-индекс

+0

хорошая точка, но добавление позиции абсолютный вид перерывов бутстрап layout :(, я все еще пытаюсь с этим решением и обновляю скрипку, если найду это –

0

У меня есть наконец, сделал это, только незначительные детали, анимация по-прежнему не хватает, но это работает отлично :)

Проверьте обновленный скрипку

http://jsfiddle.net/8vv0dgLc/2/

HTML код:

<nav class="navbar navbar-default"> 
    <div class="container-fluid"> 
    <!-- Brand and toggle get grouped for better mobile display --> 
    <div class="navbar-header"> 
     <a class="navbar-brand" href="#">TEST SITE</a> 
     <form id="form-search" class="navbar-form navbar-collapse visible-xs pull-right" role="search"> 

    <div class="input-group"> 
     <input type="text" class="form-control" placeholder="Buscar"> 
     <span class="input-group-btn"> 
      <button class="btn btn-default" type="button"><span class="glyphicon glyphicon-search"</span></button> 
     </span> 
    </div> 

     </form> 
     <button id="colapsador" type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"> 
     <span class="sr-only">Toggle navigation</span> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
     </button> 
     <button id="navi-btn" type="button" class="visible-xs btn btn-default pull-right"> 
      <span class="glyphicon glyphicon-map-marker"></span> 
     </button> 
    </div> 

    <!-- Collect the nav links, forms, and other content for toggling --> 
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> 
    <div> 
     <ul class="nav navbar-nav"> 
     <li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li> 
     <li><a href="#">Link</a></li> 
     <li class="dropdown"> 
      <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a> 
      <ul class="dropdown-menu"> 
      <li><a href="#">Action</a></li> 
      <li><a href="#">Another action</a></li> 
      <li><a href="#">Something else here</a></li> 
      <li role="separator" class="divider"></li> 
      <li><a href="#">Separated link</a></li> 
      <li role="separator" class="divider"></li> 
      <li><a href="#">One more separated link</a></li> 
      </ul> 
     </li> 
     </ul> 
     </div> 
     <div> 
     <ul class="nav navbar-nav navbar-right"> 
     <li><a href="#">Link</a></li> 
     <li class="dropdown"> 
      <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a> 
      <ul class="dropdown-menu"> 
      <li><a href="#">Action</a></li> 
      <li><a href="#">Another action</a></li> 
      <li><a href="#">Something else here</a></li> 
      <li role="separator" class="divider"></li> 
      <li><a href="#">Separated link</a></li> 
      </ul> 
     </li> 
     </ul> 
     </div> 
    </div><!-- /.navbar-collapse --> 
    </div><!-- /.container-fluid --> 
</nav> 

    <!-- Page Content --> 
    <div class="container"> 
     <div class="row"> 
      <div class="col-lg-12"> 
       <h1>Some site</h1> 
       <p>Some text</p> 
      </div> 
     </div> 
    </div> 

Javascript

$('#form-search button').click(function(){ 
      $('#form-search .form-control').toggle(); 
     }); 

CSS

#form-search{ 
    border: none; 
    margin-top: -2px; 
    margin-right: -0.5em; 
    width:4.8em; 
    z-index: 6; 
} 

#form-search .form-control{ 
    position:absolute; 
    display:none; 
    z-index: 100; 
    right:3em; 
    width:15em; 
} 

#form-search .input-group-btn button{ 
    border-top-left-radius:4px; 
    border-bottom-left-radius: 4px; 
} 

#navi-btn{ 
    margin-top: 8px; 
    margin-right: 0.5em; 
    z-index: 1; 
} 

#colapsador{ 
    margin-right: 0.5em; 
    z-index: 1; 
} 
Смежные вопросы