случайно (из заданого) менять текст и его цвет по событию 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, время: 06:52. |