Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   запуск функций (https://javascript.ru/forum/dom-window/23006-zapusk-funkcijj.html)

dimon76 08.11.2011 18:27

запуск функций
 
подскажите можно ли сделать так: по умолчанию работает одна функция (показывает в цикле картинки), при наведении на картинку мыши начинается показ других картинок, а если убрать мышь то показ третьих картинок и автоматом на первые переход?

я так приблизительно себе это представляю -
1. Загружаю первый цикл картинок (непрерывный)
2. При попадании мышкой загружаю второй цикл.
3. Убираем мышку - загружается третий цикл картинок, по его окончанию запускается первый.


что бы понятней было -есть анимация - движется медведь, наводим на него стрелку - медведь становить на задние лапы, убираем мышь медведь ПЛАВНО становится на 4 кости и валит дальше.

как запустить первый цикл картинок я знаю. как запустить второй - представляю только отдаленно, не говоря о том что и как делать дальше.
вот что имею сейчас:
<script language="JavaScript">

i=0;
img_a=new Array();
<?
							$dir="1/1/"; //берем директорию
							$ar=array();
							$dh = opendir($dir);
							while ($file_d = readdir($dh)) {
							if ($file_d[0] != ".") //не выводим вложенные папки
							{
							array_push($ar, $file_d); //читаем все файлы в директории
							sort($ar);
							}
							}

							for($i=0;$i<count($ar);$i++) {
							
		
?>

img_a[<?echo $i;?>]=new Image();

img_a[<?echo $i;?>].src="<? echo "1/1/$ar[$i]";?>"


<?
}?>
function img_b()
{
document.images[0].src=img_a[i].src

i++
if(i>40) i=0;
setTimeout("img_b()", 20)
}

function ChangeImage(id,change)
{
var el=document.getElementById(id);
el.src=change;
}
</script>
</head>

<body onLoad=img_b() >

<div id="change">
<img width="300" height="250" name="myImage" src="1/1/10000.jpg"><br>
</div>

trikadin 08.11.2011 22:53

Цитата:

Сообщение от dimon76
подскажите можно ли сделать так

Можно)

Код сюда лучше выставлять уже после обработки php-модулем.

dimon76 08.11.2011 23:22

можно, это хорошо. только вот как?

dimon76 08.11.2011 23:30

помогите, очень срочно нужно! плизззззззззз!!!!!!!!!!!!!

Aetae 08.11.2011 23:32

Бесплатно такой муторной и банальной фигнёй никто заниматься не будет.
Предлагайте деньги.
Или гуглите готовые варианты,

trikadin 08.11.2011 23:38

Ну как... Я бы сделал три гифки с движениями медведя. Первая - где он идёт. Вторая - где он понимается и стоит в конце (один повтор). Третья - где он опускается на лапы. После третьей ставим первую. Есть, правда, небольшая сложность с тем, как отследить, закончилась анимация второй картинки или нет. Тут просто надо посчитать сколько она идёт (кол-во кадров/ fps), и запускать через setTimeout) Все три картинки лучше загрузить сразу - чтобы не тормозили.

Хотя нет. Я бы сделал это на флеше. Он как-то больше для этого приспособлен.

dimon76 08.11.2011 23:44

не gif ни тем более флеш не катят. делается на html5.

trikadin 08.11.2011 23:49

Тогда вам в раздел "Работа". Бесплатно с таким заданием мучиться никто не будет.

И вообще, не понимаю. Почему именно html5? Из упрямства?) Почему не использовать более удобные варианты?

dimon76 09.11.2011 00:24

скорость.

trikadin 09.11.2011 00:30

Забавно. Гиф-картинка будет на порядок быстрее. Да и с флешем ещё неизвестно, я бы скорее на него поставил.


Часовой пояс GMT +3, время: 16:49.