Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.02.2013, 10:10
Новичок на форуме
Отправить личное сообщение для SnakeAce Посмотреть профиль Найти все сообщения от SnakeAce
 
Регистрация: 30.01.2013
Сообщений: 9

Функция не идет после второго клика.
Есть код поиска. Он хорошо ищет и выводит материалы в окошко div. Меня интересует то, что Close после того как мы активировали поиск работает, но после запроса мы уже не можем скрыть окно, как с этим быть? Помогите так же сделать, чтобы при сбросе актива на поле поиска пропадало и само окошко с результатами, но восстанавливалось при след. активе.
$('#query').keydown(function (k) { if (k.keyCode == 13) { search();}
 });
 function search() {
 $('#query').attr('readonly', 'readonly'); 
 $('#qlist').html('Поиск') 
 if ($('#query').val().length >= 2) {
 setTimeout(function () { 
 question = $('#query').val();
 $('#qlist').html(''); 
 $('#qlist').css({display:'block'})
 $.get('/search/?q=' + question + ';t=0;p=1;md=', function (sch) {
 resnum = $('.res_count', sch).text();
 if(resnum == '0') {
 $('#query').removeAttr('readonly');
 $('#qlist').html('<font style="font-size:10px">Нет результатов по запросу <b>'+ question +'</b>, измените запрос и повторите попытку.</font>');
 $('#qlist').css({height:'40px'})
 } else {
 $('#query').removeAttr('readonly'); 
 $('.eTitle:lt(15)', sch).each(function () {
 $('#qlist').append('<div class="result_s">'+$(this).html()+'</div>');
 $('#allres').html('<center>' +_uButton(null, 'button',{style:1,text: 'Все результаты',content: 'onclick=\'location.href="/search/?q='+$('#query').val()+'" \' '})+ '</center>')
 })
 }
 })
 },1500)
 } else {$('#query').removeAttr('readonly'); $('#qlist').html('<div style="font-size:10px">Запрос должен содержать не менее 2 символов</div>');}
 }
 
function closep(){
    $('#search_body').css('display', 'none');
}

<div style="padding:3px"> 
 <input onfocus="if($(this).val() == 'Ваш запрос...') {this.value='';$('#search_body').slideToggle 
(500)}" onblur="if($(this).val() == '') {$('#search_body').slideToggle(500)}" name="q" id="query" value="Ваш запрос..." style="width: 210px;height:25px;margin-bottom:3px;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;" type="text"> 
 <span id="search_body" style="display:none; padding-top: 0px; overflow: hidden; height: auto; background-color: rgba(255, 255, 255, 0.972549); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; -webkit-box-shadow: rgba(0, 0, 0, 0.498039) 0px 0px 10px; box-shadow: rgba(0, 0, 0, 0.498039) 0px 0px 10px; position: absolute; top: 32px; right: 0px; width: 290px; z-index: 9999; text-align: center; background-position: initial initial; background-repeat: initial initial;"> 
 <div id="qlist">Введите запрос... </div> 

 <a class="closepoisk" onclick="closep(); return false;">Close</a>
<span id="allres"></span>
</span> 
 </div>

Последний раз редактировалось SnakeAce, 01.02.2013 в 12:41.
Ответить с цитированием
  #2 (permalink)  
Старый 01.02.2013, 11:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

SnakeAce,
странный у вас css в 30 строке
Ответить с цитированием
  #3 (permalink)  
Старый 01.02.2013, 11:15
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Цитата:
$('#search_body').css(display:none);
Вот здесь будет синтаксическая ошибка.
либо css({display:'none'}) либо css('display', 'none')
Ответить с цитированием
  #4 (permalink)  
Старый 01.02.2013, 11:50
Новичок на форуме
Отправить личное сообщение для SnakeAce Посмотреть профиль Найти все сообщения от SnakeAce
 
Регистрация: 30.01.2013
Сообщений: 9

Спасибо, что нашли ошибку в css, но суть от этого не изменилась
Ответить с цитированием
  #5 (permalink)  
Старый 01.02.2013, 20:28
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Попробуйте ту саму строчку заменить на $('#search_body').slideToggle(500)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нажатие по дате в календаре срабатывает только со второго клика afr0 Events/DOM/Window 4 31.10.2012 13:39
Событие запускается со второго клика sympler Events/DOM/Window 13 10.08.2011 16:01
функция внутри Live() срабатывает после второго клика Ad1r jQuery 7 09.08.2011 14:11
Выполняется функция, а все что написано после нее игнорируется, libinstyle Элементы интерфейса 4 24.03.2010 16:44
Не убирать кнопку после клика по ней. CompModdd jQuery 2 12.05.2009 02:13