Урок 4. Пагинация для вопросов
Дата публикации: 12-09-2014

От автора: В предыдущем уроке мы работали с полученным ранее массивом данных, которые включают в себя все вопросы выбранного теста и варианты ответов к ним. Завершили урок мы выводом на экран всех вопросов и ответов теста. В этом уроке перед нами будет стоять несколько задач, которые связаны преимущественно с оформлением, а именно: мы реализуем вывод на экран только первого вопроса и вариантов ответа к нему, скрыв прочие, а также реализуем вывод кнопок, показывающих номера вопросов выбранного теста.
Задачей текущего урока будет вывод данных из массива на экран в приемлемом для теста виде.
Все уроки курса:
Метки: система тестирования, тестирование
Спасибо за уроки.. А когда 5 урок?
Пожалуйста)
Относительно даты выхода следующего урока пока не могу сказать ничего конкретного, возможно, на следующей неделе.
Уважаемый Андрей!
У Вас, случайно, нет мысли в ближайшем будущем начать выпускать СБОРНИКИ бесплатных уроков (iso)?
Замечательные уроки, но не очень удобно каждый урок искать отдельно. Рассылки — это, конечно, очень хорошо, но, в конце концов, хочется иметь где-нибудь в коробочке сборничек от автора с симпатичной менюшкой.
Здравствуйте, Евгений.
Пока что таких планов нет… возможно в будущем)
Здравствуйте, в уроке «Пагинация для вопросов» столкнулся с проблемкой $(‘.test-data’).find(‘div:first’).show(); , данная строка почему-то не отрабатывает. Хотя всё подключено и проверено alert’ом. Помогите плизз!
Здравствуйте. Скорее всего, есть какие-то ошибки на стороне JS. Попробуйте посмотреть так ли это в консоли браузера. Это все, что можно подсказать без кода. Также можете взять код из исходников, код в исходниках рабочий.
Здравствуйте! У меня в тестах 50 вопросов, в пагинации выводится все 50 номеров в одной строке, не красиво получается, прокрутка появляется. Пожалуйста, Андрей, подскажите, как оформить пагинацию покрасивее, или хотя бы перенос номеров на следующую строку был. Заранее благодарю!
Здравствуйте. Просто задайте для блока с классом pagination нужную ширину и номера страниц не будут выходить за нее. В файле стилей есть правило для .pagination, добавьте в него: width: 300px; или нужную Вам ширину.
Да, этот вариант был испробован, просто не изменилось ничего, все равно за рамку страницы выходят номера вопросов. Может есть еще варианты? Пожалуйста, подскажите!
Странно, этот вариант должен работать. Выложите архив с Вашим проектом (+ дамп БД) на файлообменник и дайте ссылку, я скачаю и попробую подсказать.
Огромное спасибо за такую поддержку!!!
Вот ссылка yadi.sk/d/6-0bJsjQ3AGAeH
Я новичок, поэтому не судите строго)))
Смотрите, в чем суть проблемы. Дело в том, что номера пагинации идут сплошной строкой. Ну а когда текст идет сплошной строкой без пробелов, то он будет выходить за границы блока. Решить проблему можно:
1) добавлением свойства word-wrap: break-word; для блока .pagination, тогда длинные строки будут переноситься;
2) просто поставить пробел после ссылки в функции pagination().
Я бы выбрал второй вариант. Ну и немного оформить ссылки, чтобы они не наезжали друг на друга. Ссылка на исправленную версию — yadi.sk/d/OpCrVkx33AGiuz
подскажите пожалуйста, как вывести пагинацию слева? то есть разделить страницу на 2 части
Через стили, задав float: left для пагинации.
спасибо большое, разобралась!
не подскажете ли, как сделать еще переход на следующий вопрос по кнопке?
Не совсем понял, переход к следующему вопросу итак ведь происходит по кнопке.
Добавить кнопки под вопросами и вариантами ответов «Назад», «Вперед».
«Назад» — предыдущий вопрос (если таковой имеется)
«Вперед» — следующий вопрос (если таковой имеется)
Для этого придется переписывать функцию пагинации, чтобы вместо номеров были кнопки вперед и назад. Алгоритм ее примерно такой: для кнопки назад проверяем номер страницы и, если он больше единицы, тогда кнопка назад нужна и ее значение равно текущему номеру страницы минус единицы. Для кнопки вперед алгоритм следующий: сравнивается номер текущей страницы с общим количеством страниц (вопросов) и, если текущий меньше, тогда нужна кнопка вперед со значением текущей страницы плюс единица. Как-то так.
Могу я понаглеть и попросить код? Совсем не могу разобраться.
К сожалению, здесь я не помогу. Если бы это был код на пару строк, тогда бы написал. Здесь же код — это фактически отдельный урок.
На Вас у меня единственная надежда, к сожалению
Наталья, к сожалению, еще раз вынужден отказать. Если я для всех начну писать код, тогда у меня попросту не останется времени ни на что другое. Прошу понять и не обижаться.