случайно (из заданого) менять текст и его цвет по событию Mousemove
Идея в том, чтобы были заданные тексты и цвета. они random'но выводятся в div или span и меняются по событию mouseMove на body. По мере амплитуды/скорости или резкости движений мышью меняется этот текст. т.е. чем быстрее провожу мышью в <body></body>, тем быстрее в случайном порядке меняется текст и его цвет.
Перерыл интернеты - ничего даже похожего не нашел. Интересно увидеть любую информацию по теме. Т.к. сам только начинаю изучение javascript. для случаный фраз использую код: var ar = new Array(); ar[0] = "1"; ar[1] = "2"; ar[2] = "3"; ar[3] = "а"; ar[4] = "б"; ar[5] = "в"; ar[6] = "г"; ar[7] = "д"; ar[8] = "a"; ar[9] = "b"; ar[10] = "c"; document.write(ar[Math.round(Math.random()*10)]); |
Примерно так:
<div id="div"></div> <script type="text/javascript"> window.onload = function(){ var array = ['a', 'b', 'c', 'd', 'e', 6, 7, 8, 9, 10]; document.onmousemove = function(){ return function(){ document.getElementById('div').innerHTML = array[Math.floor(Math.random() * array.length)]; }; }(); }; </script> |
monolithed,
маленький на всякий случай ))) Цитата:
Math.floor(Math.random() * array.length) да и замыкание здесь излишне <div id="div"></div> <script type="text/javascript"> window.onload = function () { document.onmousemove = function () { var a = ["a", "b", "c", "d", "e", 6, 7, 8, 9, 10]; document.getElementById("div").innerHTML = a[Math.floor(Math.random() * a.length)] } }; </script> |
Цитата:
Цитата:
|
Спасибо. а можно ли как-то регулировать скорость изменения текста по мере движения мыши?
|
Думаю можно, но это будет через одно место
|
Вариант ... "через одно место" )
<div id="div"></div> <script type="text/javascript"> i = 200; f = 1; window.onload = function () { document.onmousemove = function () { var a = ["Никто так не торопит других, как лентяи", "Лень ничего не создает и созданное уничтожает", "Желание сделать слишком много служит для многих предлогом не делать ничего", "Лень делает всякое дело трудным", "Бездельнику и ленивому и помощь не поможет"]; i && i--; if (f&&i<200) { f = 0; s = a[Math.floor(Math.random() * a.length)]; document.getElementById("div").innerHTML = ""; setTimeout(function () { i++; document.getElementById("div").innerHTML += s.charAt(0); if (s = s.substr(1)) setTimeout(arguments.callee, i); else { f = 1; i = 205 } }, 10) } } }; </script> |
буду думать как лучше))
спасибо всем! |
Часовой пояс GMT +3, время: 03:03. |