Я работал над динамическим вопросом (технические термины), но, конечно, всегда есть небольшой прыжок, который вам нужно преодолеть. Моя проблема в том, что, когда я выбираю «показать ответ» на одной из панелей вопросов, разделители добавляют огромное белое пространство между строками. Обычно количество задаваемых вопросов регулируется шириной экрана, затем через AJAX задаются вопросы от index.php?questions&a={insertwidthofscreen*4}, это делается через javascript и работает автоматически.

У меня есть следующий код, он называется math.php в качестве временного теста: http://pastebin.com/MjGgSTYh Все создается с помощью указанного выше файла, и никаких внешних подключений не выполняется, работа с базой данных проста, и я буду использовать свою старую систему, которая отслеживает то, что уже было показано.

Идея состоит в том, что все DIVS меняют высоту при нажатии кнопки ответа, высота зависит от ответа, ответ может варьироваться от 1 слова до абзаца.

Скриншоты того, что я имею в виду с белым пространством. http://imgur.com/KAOPHFI,wj0vWSg там две фотографии, я какое-то время не видел следующую кнопку.

Привет, Леон

0
Leon 1 Июн 2015 в 18:57

1 ответ

Лучший ответ

Поскольку это не полный код (и поэтому мне сложно проверить себя), я просто плюну на это - ваш стиль qbox (и, возможно, другие?) Имеет фиксированную ширину - qbox составляет 200 пикселей. Это должно быть динамично? (у вас также указана ширина дважды, но с одинаковым значением, поэтому в данном случае это не имеет значения)

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

Обновить:

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

Чтобы решить эту проблему, похоже, вам придется переместить некоторые поля ответов при нажатии на один ответ ... простое развертывание их в определенном порядке вызовет проблему, которую вы видите. Другой вариант - иметь панель / фрейм ответов сбоку или внизу страницы, которая показывает ответ, не расширяя сами поля вопросов. Я не могу представить алгоритм, который вам понадобится для автоматической перестановки ящиков при каждом нажатии ...

1
Tim S. 4 Июн 2015 в 23:28
Это весь код в файле PHP, за исключением окна предупреждения, которое появляется, если существует $ _REQUEST ['dialog'], но это просто дает объяснение людям, кроме предупреждения, полный код приведен выше, я должен дважды проверить.
 – 
Leon
2 Июн 2015 в 08:55
Спасибо, что обратились ко мне, единственное, что изменится, - это высота, она может сильно измениться при нажатии кнопки ответа или не может быть много, у меня не может быть фиксированной высоты или вопрос может быть слишком длинным и не подходит. Имя файла называется math.php НЕ index.php, это моя ошибка, и, возможно, поэтому, но вы должны иметь возможность скопировать и вставить файл, иначе я поместил файл на pastebin pastebin.com/MjGgSTYh
 – 
Leon
2 Июн 2015 в 09:01
Хорошо, я внимательно рассмотрел приведенный выше код, и он не завершен. Оказывается, этот стек удалил некоторые из них. pastebin.com/MjGgSTYh
 – 
Leon
2 Июн 2015 в 09:04
Вы просматривали исходный код HTML в браузере, чтобы узнать, что отображается в браузере? На данный момент у меня нет доступа к моей системе с поддержкой php, но, надеюсь, я могу взглянуть сегодня вечером.
 – 
Tim S.
3 Июн 2015 в 03:42
Я посмотрел, но нет DIVS или легко просматриваемых пробелов, он есть на testa.lhdns. tk / math.php, если вы хотите, чтобы он выглядел должным образом
 – 
Leon
4 Июн 2015 в 08:17