Виртуальный кубик рубика.
Пока псевдо 3д. :)
Можно крутить слои мышкой и переворачивать за центральные кубики.
Также работает и на мобильных девайсах.
Можно крутить слои кнопками r - по часовой правая, R - против часовой правая и по аналогии остальные, l/L, u/U, d/D, f/F, b/B, m/M, s/S, e/E, x/X, z/Z, y/Y.
Есть развертка кубика.
Можно выполнять алгоритмы. Формат записи любой(d и Dw).
Автоматическая инверсия алгоритма.
OLL, PLL, F2L, OLL OH.
OLL OH взято с © Kchiuk.
Все это постепенно дополняется и дорабатывается.
Вторая версия выйдет в нормальной проекции в 3д.
Есть выпадающий список, в котором НЕ установленны некоторые значения value у option:
<select id = 'selectID' onchange='selectOnChange()'>
<option value='val1'>option1</option>
<option>option2</option>
<option>option3</option>
</select>
Для получения выбранного значения select устанавливаем обработчик события onchange. Для opera и firefox, можно воспользоваться значением value самого select-а, а вот IE "радует" нас в очередной раз и выбранное зачение можно получить только обратившись к таковому в массив options по индексу selectedIndex. При установленных значениях value в option в IE также можно получить значение из value самого select-a
Попользовав шаблонизатор для JavaScript, мне показалось, что в нем содержутся некие излишние данные в виде повторяющихся ключей в массивах значений. В этой редакции добавленна возможность устанавливать отдельно ключи, отдельно данные в обычных, а не ассоциативных массивах. Что позволяет существенно уменьшить объем передаваемого с серверной стороны кода.
В продолжение темы темплейтов вот пример того как можно использовать технологию шаблонов в JavaScript, на стороне клиента.
Иногда необходимо узнать значения свойства стиля, которое установленно в css-классе. Который подключен например с помощью
<link href="file.css" type=text/css rel=stylesheet >
Коментарии собсно, в коде.