S3.Blog

30 Октября 2024
A A A   RSS-лента
"Я знаю, что ничего не знаю, но многие не знают и этого". Сократ [?].

JavaScript: Поймай меня, если сможешь

По просьбе друга Андрея Нидченко , который постоянно меня упрекает в том, что на этом блоге не хватает голых баб, родилась эта фича :)


Александр

<html>
<body>
<div id="imgAndr_box" style="border: 1px red solid; width: 400px; height: 400px;position: absolute;">
<img width="100" border="0" alt="" onmouseover="img_andr_jump();" onmousemove="img_andr_jump();" src="http://www.s3blog.org/files/others/for_anders.gif" id="imgAndr" style="display: none; position: relative; top: 0px; left: 0px;" />
</div>
<script language="javascript">
var imgAndr = document.getElementById('imgAndr');
var imgAndr_box = document.getElementById('imgAndr_box');
var vector_x = 0;
var vector_y = 0;
imgAndr.style.display = 'block';
img_andr_jump();
var imgAndr_begin = setInterval("img_andr_begin()",10);
function max_width() {
return imgAndr_box.clientWidth - imgAndr.clientWidth;
}
function max_height() {
return imgAndr_box.clientHeight - imgAndr.clientHeight;
}
function img_andr_jump() {
vector_x = init_vector();
if (Math.random() > 0.5) {
vector_x *= -1;
}
vector_y = init_vector();
if (Math.random() > 0.5) {
vector_y *= -1;
}
imgAndr.style.top = Math.floor(Math.random()*max_height()) + 'px';
imgAndr.style.left = Math.floor(Math.random()*max_width()) + 'px';
}
function img_andr_begin() {
var m_width = max_width();
var m_height = max_height();
var cur_x = parseInt(imgAndr.style.left);
var cur_y = parseInt(imgAndr.style.top);
if ((cur_x < 0) && (vector_x<0)) {
vector_x = init_vector();
}
if ((cur_y < 0) && (vector_y<0)) {
vector_y = init_vector();
}
if ((cur_x > m_width) && (vector_x>0)) {
vector_x = init_vector();
vector_x *= -1;
}
if ((cur_y > m_height) && (vector_y>0)) {
vector_y = init_vector();
vector_y *= -1;
}
imgAndr.style.left = cur_x + vector_x + 'px';
imgAndr.style.top = cur_y + vector_y + 'px';
}
function init_vector() {
return Math.floor(Math.random()*5)+1;
}
</script>
</body>
</html>

 
 
  Имя *:   Решите пример *: =
 
Полужирный Курсив Подчеркнутый Перечеркнутый
 
Вставить изображение Сделать цитатой Вставить ссылку Вставить код

Вставить смайл
 
 
© S3.Blog: Если критикуешь, не предлагая решения проблемы, то ты становишься частью этой проблемы.