LINUX.ORG.RU

Нужна безвозмездная помощь

 ,


1

1

Предыстория такова: мой знакомый, хороший профессиональный лингвист, на досуге развлекается изучением новых для себя языков. Очередным таким языком стал бурский язык. В ходе изучения выяснилось, что все современные учебники по нему имеют серьезные изъяны. Знакомый решил сделать правильный учебник, и опубликовать его онлайн. Язык не слишком востребованный, так что проект по созданию учебника — на 100% некоммерческий just for fun; учебник будет свободно доступен всем желающим.

Каждая глава учебника должна заканчиваться десятью упражнениями. Упражнение представляет из себя страничку (что-то типа этого), на которой расположены:

  • Десять фраз, в каждой фразе пропущено по одному слову. Эти слова пользователь должен впечатать с клавиатуры.
  • Кнопка «проверить», при нажатии которой происходит сравнение впечатанных слов с эталонными. Совпавшие слова подсвечиваются зеленым, а не совпавшие — красным.
  • Кнопка «далее», которая активируется после того, как проверка показала что хотя бы 7 из 10 фраз дописаны правильно. При нажатии на кнопку происходит переход на следующее упражнение.

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

Проект некоммерческий и специалистов для сопровождения сервера нет, поэтому хочется, чтобы вся динамика была реализована на стороне броузера. Также хочется работоспособности на свежих хроме, firefox, opera и на ie 8+. Свистелок и перделок не требуется. Лингвист готов наполнять/копипастить упражнения напрямую в html-файлах, в блокноте. Нужен только скелет.

Проблема в том, что в JS я ни в зуб ногой, и на создание скелета у меня уйдет неоправданно много времени, а результат будет «пионерским». Гуру, помогите пожалуйста.

★★★★★

Последнее исправление: Manhunt (всего исправлений: 1)

У меня была похожая система, делал для одной организации. Если тебе не срочно, можно будет сделать (сейчас пока нет времени, к сожалению).

mopsene ★★★
()
Ответ на: комментарий от mopsene

Давай в ник@gmail.com

Стучусь, авторизуй.

как-нибудь настроим мой локалхост, я тебе покажу движок, который писал.

Разве это не просто груда html/js/css файлов получится?

Manhunt ★★★★★
() автор топика
Ответ на: комментарий от Manhunt

Стучусь, авторизуй.

Я через web-клиент, почему-то не вижу. Джабберы пока не могу использовать. Есть ли у тебя скайп? Скинь на мыло логин скайпа, если есть, я авторизую.

Разве это не просто груда html/js/css файлов получится?

У меня на php движок, который смотрит в каталог, ищет там файлы теста, записывает в БД, считает результаты и т.д.

mopsene ★★★
()
Ответ на: комментарий от mopsene

У меня на php движок, который смотрит в каталог, ищет там файлы теста, записывает в БД, считает результаты и т.д.

Ох. Слишком сложно :( Нужен html+js.

Manhunt ★★★★★
() автор топика
Ответ на: комментарий от Manhunt

А как же авторизация, сохранение результатов, добавление новых тестов, статистика и все такое? Не говоря о том, что все тесты будут проходится заглядыванием в исходный код страницы.

mopsene ★★★
()
Ответ на: комментарий от Manhunt

Как-то так, но я не проверял, писал находу:

<html>
	<head>
		<title>Упражение 1</title>
		<script type="text/javascript" src="js/jquery.js"></script>
	</head>
	<body>
		Как переводится один - <input type="text" class="answer" data-qid="first" /><br />
		Как переводится два - <input type="text" class="answer" data-qid="second" /><br />
		Как переводится три - <input type="text" class="answer" data-qid="third" /><br />
		<input type="button" class="check" value="Проверить" />
		<script type="text/javascript">
			var answers = {
				'first': 'Один',
				'second': 'Два',
				'third': 'Три',
			};

			$("input.check").click(function() {
				var result = 0;	
				$(".answer").each(function() {
					var answer = $(this).data("qid");

					if (answers[answer] == $(this).val())
					{
						result++;
					}
				});

				if (result > 2)
				{
					alert('Молодец!');
				}
				else
				{
					alert('Подучись ещё!');
				}
			});
		</script>
	</body>
</html>

Я думал надо полностью написать, а не просто помочь тебе понять, как это делается.

VirRaa ★★★
()
Ответ на: комментарий от mopsene

А как же авторизация, сохранение результатов, статистика и все такое?

Для учебника это все не очень нужно. Сохранять результаты, наверное, можно было бы в куки — но пока этого не требуется.

добавление новых тестов,

Перезатираешь на сервере старые html-и новыми. И вот, новые тесты добавлены и опубликованы.

Manhunt ★★★★★
() автор топика
Ответ на: комментарий от mopsene

В head и jquery лучше с гуглосайта тянуть.

Это же просто пример написаный с ходу. Там и ответы не правильные, по идее, должно быть «one» вместо «один», «two» вместо «два». Поторопился... а так же, регистронезависимость сделать надо. В общем, это просто направление мысли, а не готовый результат.

VirRaa ★★★
()
Ответ на: комментарий от mopsene

Вариантов куча. В том числе, хранить ответы в самих input'ах. В data-аттрибутах. В общем, я же говорю, я сначала подумал, что ТС надо просто полностью взять и написать, а не сюда скелет выложить. Вообще, за час-два, можно идеальный вариант сделать.

VirRaa ★★★
()

Если программированием занимался, за день разберёшься.

Legioner ★★★★★
()
Ответ на: комментарий от VirRaa

ТС надо просто полностью взять и написать

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

Сейчас не хватает раскраски правильных/неправильных ответов, и кнопки «далее».

И вот еще какая загвоздка: некоторые вопросы могут иметь несколько допустимых ответов, программа должна принимать любой из них.

Manhunt ★★★★★
() автор топика
Ответ на: комментарий от Manhunt

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

Сейчас не хватает раскраски правильных/неправильных ответов, и кнопки «далее».

И вот еще какая загвоздка: некоторые вопросы могут иметь несколько допустимых ответов, программа должна принимать любой из них.

Могу полностью с этим помочь, доработать. Сегодня вечером или завтра. Если действительно нужна эта помощь, то напиши на почту, иначе придя домой я однозначно забуду.

VirRaa ★★★
()
Ответ на: комментарий от zz

Спасибо за отклик! Остановлюсь пока на варианте от VirRaa.

Manhunt ★★★★★
() автор топика

Тоже предложу помощь (можешь мне писать в крайнем случае). Помогу со всем: дизайн, CSS/HTML/JS и PHP/MySQL. Предпочитаю использовать Yii.

resurtm ★★★
()
Последнее исправление: resurtm (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.