Предлагаю Вам очень, на мой взгляд, интересный вариант Captcha. Но как готовый модуль его использовать можно только в том случае, если страница с формой не перезагружается. Да и вообще это больше идея с которой еще надо поковыряться чтобы применить для Captcha. Хотя человеку со знанием JavaScript это будет делом 5-10 минут!
Данный вариант можно также использовать для какого нибудь теста для детей и т.д.
Исходный файл для скачивания - без стилевых изменений, а на демонстрационной странице я немного всё поменял на свой взгляд и вкус и привожу Вам свой пример:
HTML
Начнем с подключения стиля и скриптов:
<script src="js/hexaflip.js"></script>
<script src="//code.jquery.com/jquery-1.11.3.js"></script>
<link href="css/hexaflip.css" rel="stylesheet" type="text/css">
В нужное место вставляем вывод самиого содержимого:
<center>
<header class="clearfix">
<h2>Разложите правильно цвета ( <span style="color:#E74C3C;">red</span> <span style="color:#F7C221;">yellow</span> <span style="color:#3498DB;">blue</span> <span style="color:#93c943;">green</span> ), если вы не бот</h2>
</header>
</center>
<div class="main">
<div id="hexaflip-dem" class="demo"></div>
<div>
<botton id="submit">Проверить</botton>
<div id="output"></div>
</div>
</div>
JS
В нижней части страницы перед закрытием тега </body>
вставляем сам обработчик:
var hexadem,
set = [
{
value: 'orange',
style: {
backgroundColor: '#e67e22'
}
},
{
value: 'teal',
style: {
backgroundColor: '#1ABC9C'
}
},
{
value: 'yellow',
style: {
backgroundColor: '#F7C221'
}
},
{
value: 'green',
style: {
backgroundColor: '#93c943'
}
},
{
value: 'blue',
style: {
backgroundColor: '#3498DB'
}
},
{
value: 'red',
style: {
backgroundColor: '#E74C3C'
}
},
{
value: 'violet',
style: {
backgroundColor: '#9B59B6'
}
},
{
value: 'gray',
style: {
backgroundColor: '#BDC3C7'
}
}
];
document.addEventListener('DOMContentLoaded', function(){
var submit = document.getElementById('submit'),
output = document.getElementById('output');
hexadem = new HexaFlip(document.getElementById('hexaflip-dem'),
{set1: set, set2: set, set3: set, set4: set},
{size: 120,fontSize: 32, margin: 8, perspective: 1000}
);
submit.addEventListener('click', function(){
if(hexadem.getValue().join(' ') === 'red yellow blue green'){
output.innerHTML = 'Цвета угаданы! Ты просто умница!';
setTimeout(function(){
$(".hexaflip-cube-set1").css('transform','translateZ(2000px)');
},100);
setTimeout(function(){
$(".hexaflip-cube-set2").css('transform','translateZ(2000px)');
},400);
setTimeout(function(){
$(".hexaflip-cube-set3").css('transform','translateZ(2000px)');
},700);
setTimeout(function(){
$(".hexaflip-cube-set4").css('transform','translateZ(2000px)');
},1000);
}else{
output.innerHTML = 'Нифига, крути лучше :)';
}
}, false);
}, false);
Для настройки размеров кубиков Вам нужна строка {size: 120,fontSize: 32, margin: 8, perspective: 1000}
это размер кубика size: 120
, размер текста на кубике fontSize: 32
.
Вот и всё
Пользуйтесь, применяйте и я буду рад если этот пример поможет Вам для осуществления своих идей!