Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Блог » Пишу модуль тестов... по тестируйте и выскажите свои предложения

Пишу модуль тестов... по тестируйте и выскажите свои предложения


 D0Gmatist    20.07.2014    модуль, тест, предложения    Блог    4769    19 комментариев

19 комментариев

Sander
PHP-developer

Sander - 20 июля 2014 04:19 -

0 из 10

Не надо пользователю показывать нулевой вопрос. Нумерация ведь всегда начинается с единицы, это только у программистов с нуля :D

Если прокрутить страницу в самый низ и кликнуть вариант ответа, в момент прокрутки слайда страница прыгает вверх.

Адрес результата лучше бы не показывать. А-то легко методом подбора посмотреть все варианты ответов на все тесты.

.test_formT span

Лучше везде присваивай классы, например:
.test_formT_header


onclick="testGo( '1', '1', '3', '1' )

бррр.
Пользователь не должен видеть сколько баллов он получит за каждый из вариантов. Да и от onclick лучше избавиться...

В момент смены слайда - сначала заменяется его содержимое, потом идет анимация слайда.

Думаю лучше будет сразу загружать все вопросы с ответами, чтобы не было задержки в момент ответа.

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

D0Gmatist
Юзер

D0Gmatist - 20 июля 2014 10:27 -

Цитата: Sander
Не надо пользователю показывать нулевой вопрос. Нумерация ведь всегда начинается с единицы, это только у программистов с нуля :D
согласен )

Цитата: Sander
Если прокрутить страницу в самый низ и кликнуть вариант ответа, в момент прокрутки слайда страница прыгает вверх.
есть глюк

Цитата: Sander
Адрес результата лучше бы не показывать. А-то легко методом подбора посмотреть все варианты ответов на все тесты.
так а что плохого если они посмотрят результаты, это же тест и то что он посмотрит чужие результаты не скажет о том что он проходил .. тест на то и тест что его проходить надо )))

Цитата: Sander
Пользователь не должен видеть сколько баллов он получит за каждый из вариантов.
каждый юзер полезет в код смотреть его ))) ни все вообще знают как это сделать не говоря уже о том что там нужно счесть )

Цитата: Sander
Да и от onclick лучше избавиться...
тоесть ты говоришь мне отказаться от оригинального метода JS и пересесть на фреймворки типа оЙгукн ( jQuery ) ... ;/

Цитата: Sander
В момент смены слайда - сначала заменяется его содержимое, потом идет анимация слайда.
я вообще думаю отказаться от такой анимации если не смогу довести всё до плавности

Цитата: Sander
Думаю лучше будет сразу загружать все вопросы с ответами, чтобы не было задержки в момент ответа.
не совсем понял

lutskboy
Эксперт

lutskboy - 20 июля 2014 14:26 -

Отличный тест.
Тоже не вижу ничего плохого в том, что юзер сможет видеть сколько баллов он получит за каждый из вариантов, и интересно на счет onclick. Почему избавиться, чем заменить?

D0Gmatist
Юзер

D0Gmatist - 20 июля 2014 18:53 -

Ещё есть предложения?

ПафНутиЙ
Админ

ПафНутиЙ - 20 июля 2014 19:56 -

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

onclick зло, тормозящее работу браузера, ну и использование онклика - добавление множества сложностей в код, особенно с его дальнейшей поддержкой и развитием, и недайбог, кастомизацией со стороны клента (когда модуль куплен/скачан всегда надо что-то поправить и тут начинаются пляски с бубнами вокруг онкликов с отменой этого онклика), а про тач устройства и вовсе приходится забыть (точнее про корректную работу с тач устойствами).
Я бы рекомендовал использовать атрибуты data=*, jQuery прекрасно работает с ними, а js код становится изящьнее и проще, а главное - чуть быстрее.
$(document).on('click', '[data-test-points]', function() {
    testGo($this.data('testPoints'));
});


C куками тоже не совсем понял в плане того что будет при нескольких тестах.

Ну и js я бы не стал писать в dle_js.js - это не по феншую smile

Каков вопрос - таков и ответ. Просто помните об этом.

D0Gmatist
Юзер

D0Gmatist - 20 июля 2014 20:12 -

Вы понимаете что само по себе jQuery это зло которое из людей которые могли бы стать толковыми JS программистами делает шаблонных использователей фреймворков.
онклик если названа функция оригинально, то ни каких проблем не возникнет тем более что внутри все обращения идут по форме с ид
(то есть если функция написана правильно то ни каких проблем не будет)

куки ...
при новом старте куки обнуляются .. но данная идея ещё дорабатывается .. хочу сделать так что бы если человек уже начал проходить тест то может вернуться и до пройти именно этот тест

js лежит в dle_js.js так как это тестовая версия не хотелось плодить новых файлов ради чистоты самого проекта + не совсем правильно подключать десяток файлов )))

D0Gmatist
Юзер

D0Gmatist - 20 июля 2014 20:25 -

и к стати onclick зло Паша .. не путай
onclick это прямое обращение к функции JS а data это тоже самое обращение к функции только через кучу вспомогательных функций (которые в общем названы фреймворками)
ВОПРОС ... Что по факту тормозит работу теперь ответь сам )))
оЙгукн ( jQuery ) упрощает пользование JS но ни когда не сделает его лёгким и быстрым

ПафНутиЙ
Админ

ПафНутиЙ - 20 июля 2014 20:45 -

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

Цитата: D0Gmatist
оЙгукн ( jQuery ) упрощает пользование JS но ни когда не сделает его лёгким и быстрым

Ну тогда пиши на чистом js, зачем в функциях используешь jQuery, там можно обойтись чистым js, а обработку через addEventListiner вешать smile?
Думаю тут ответ очевиден - 1 слово, вместо длинной цепочки выборки на чистом js.

Цитата: D0Gmatist
куки ...
при новом старте куки обнуляются .. но данная идея ещё дорабатывается .. хочу сделать так что бы если человек уже начал проходить тест то может вернуться и до пройти именно этот тест

Тогда понятно.

Каков вопрос - таков и ответ. Просто помните об этом.

dj-avtosh
PHP-developer

dj-avtosh - 21 июля 2014 12:22 -

онклик не феншуй)

https://elkhan.ru
По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

D0Gmatist
Юзер

D0Gmatist - 20 июля 2014 20:53 -

да я и не не спорю что внутри функции использую оЙгукн ( jQuery ) но сам факт того что онклик функция ни перечит ни счем остаётся фактом ))) ..

я реально ни разу ни сталкивался с тем что функции js конфликтуют ...

на одну кнопку по 10 функций вешал в классах и всё идеально )

D0Gmatist
Юзер

D0Gmatist - 20 июля 2014 20:56 -

Пример
var onx = {
  i: 0,
  y: 0,
  start: function(y){
     onx.i = 0;
     onx.y = y;
     setTimeout(onx.pis, 1000);
  },
  pis: function(){
     alert(onx.i);
     onx.i++;
     if(onx.i<onx.y)setTimeout(onx.pis, 1000);
  }
}

D0Gmatist
Юзер

D0Gmatist - 21 июля 2014 12:16 -

Цитата: Sander
Если прокрутить страницу в самый низ и кликнуть вариант ответа, в момент прокрутки слайда страница прыгает вверх.

Цитата: Sander
В момент смены слайда - сначала заменяется его содержимое, потом идет анимация слайда.

исправлено

D0Gmatist
Юзер

D0Gmatist - 21 июля 2014 12:37 -

onclick в разметке самое простое, удобное, функциональное и быстрое решение назначения обработчиков.
Назначение через оЙгукн ( jQuery ) никак не может ускорить этот процесс.
addEventListiner хрень.
Можно почитать здесь: javascript.ru/tutorial/events/comparison

При работе с тачскринами я не видел проблем.
В крайнем случае, если совсем уж не хочется назначать обработчик в разметке, то можно присвоить элементу id и назначать обработчик так:
id.onclick = function(){}
но это сильно увеличивает перечень id и js код, особенно если нужно повесить несколько обработчиков.

D0Gmatist
Юзер

D0Gmatist - 21 июля 2014 17:28 -

Добавил ещё один тест ... модуль почти готово
http://kinomax.by/dle/testy/

D0Gmatist
Юзер

D0Gmatist - 21 июля 2014 18:41 -

Добавлена функция настройки модуля + будет дополнятся всеми возможными функциями
http://i.imgur.com/KqMDbOz.png

D0Gmatist
Юзер

D0Gmatist - 22 июля 2014 11:36 -

Дописал раздел конфига модуля )
http://i.imgur.com/G3Bqvrj.png

Irina_Sevryukova
Юзер

Irina_Sevryukova - 11 августа 2014 04:13 -

***Комментарий удален***

AndreyKAZ
Юзер

AndreyKAZ - 28 марта 2018 06:55 -

Где найти такой рабочий модуль, подскажите?

Чтобы комментировать - войдите или зарегистрируйтесь на сайте
наверх