Перейти к публикации

Быстрый поиск и абсолютное позиционирование блоков


Рекомендованные сообщения

Очередной баг с позиционированием и скриптами DLE.

Случай как обычно нечастый ибо мало людей, использующих абсолютное позиционирование блока с поиском, но тем не менее.

Проблема возникает, когда блок, в котором находится input id="search" имеет в position: absolute;

Выглядит как прибитые к левому верхнему краю страницы результаты быстрого поиска.

Так как раньше я не использовал быстрый поиск по сайту и не знаком с "правилами возникновения" на странице результатов быстрого поиска, я решил заглянуть в dle_js.js и разобраться почему же так ведёт себя блок с результатами.

В итоге немного оптимизировал скрипт, убрав оттуда совершенно не уместные там (ИМХО - позиционирование блока нужно задавать через css) расчёты позиционирования:


function dle_do_search( inputString )

{

clearInterval(dle_search_delay);

$('#searchsuggestions').remove();

$("#story").after("<div id='searchsuggestions' style='display:none'></div>");

$.post(dle_root + "engine/ajax/search.php", {query: ""+inputString+""}, function(data) {

   $('#searchsuggestions').html(data).fadeIn();

  });

dle_search_value = inputString;

};

Имеем три плюса: 1 - упрощение кода. 2 - более гибкая настройка внешнего вида. 3 - логически верное место вывода результатов поиска, а не в конце страницы. А в engine.css необходимо дописать нужные строчки кода для #searchsuggestions:
position: absolute;

top: 20px;

left: 0;

Можно ещё z-index добавить, но это уже по месту как говорится. Ну и не забыть #story заключить в блок с относительным позиционированием.

приведён не сокращенный код для dle 9.5

P.S.

Был бы очень признателен Celsoft`у если в новой версии DLE этой проблемы не будет.

Либо указанию веских причин написания именно такого кода, который лежит в dle_js.js в текущей версии DLE.

Спасибо.

Изменено пользователем ПафНутиЙ
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...