Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   планое перемешение картинки (https://javascript.ru/forum/misc/26355-planoe-peremeshenie-kartinki.html)

dadli 05.03.2012 22:13

планое перемешение картинки
 
здравствуите

хочу сделать планое перемешение картинки.
вот код

function drag_1() {
	w = 0;
	setInterval( function drag_2() {
		if (w < 400) {
			w++;
		}
		document.getElementById('img').style.marginLeft = w+'px';
	}, 10);
}


<body onLoad="drag_1();">
<img id='img' src="my_image.jpg" width="400" height="250" >


в фаирфохе и в ИЕ етот скрипт очен криво (медленно) исполняется.
скажите плиз как сделать такое через JS, чтоб работал хорошо (кросбраузерно)?

9xakep 05.03.2012 22:27

Может просто скорость увеличить?
<script>
function drag_1() {
	w = 0;
	setInterval(function () {
		if (w < 400) {
		document.getElementById('img').style.marginLeft = w+'px';	
		w+=2;
		}
	}, 10);
}

</script>
<body onLoad="drag_1();">
<img id='img' src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" width="400" height="250" >

dadli 05.03.2012 23:04

9xakep,
ето оказался не виход, ИЕ вообшем умер после увеличение скорост.
nasqad,
хорошо, а как же делать такое? не обязателно setInterval исползовать, хоть будит другое решение. может кот-то jquery советует, но интересно такое сделать через яваскрипт как можно?

T-sh 05.03.2012 23:21

попробуй сделать:
poisiton:fixed;


и менять "left" вместо "margin-left"
а для IE вот эмуляция: http://www.artlebedev.ru/tools/techn...fixed_in_msie/

dadli 05.03.2012 23:55

спасиби люди, работает везде...но кроме ИЕ.
P.S. microsoft великая корпораця, почему не могли они создать нормалную браузер ? :)

T-sh 06.03.2012 00:03

Цитата:

Сообщение от dadli (Сообщение 161577)
спасиби люди, работает везде...но кроме ИЕ.
P.S. microsoft великая корпораця, почему не могли они создать нормалную браузер ? :)

они создали.. IE9 очень даже шустрый и послушный (использую stable 9.0.5 от 14 февраля, по-моему). работает хорошо)

dadli 06.03.2012 00:16

T-sh,
может бить, не знаю, не пробовал, еше windows xp установлен мне. пора уже переходит на 7 :)

nerv_ 06.03.2012 10:03

Цитата:

Сообщение от nasqad
setInterval не клирится, оче плохо

товарищ прав

Основы программной анимации на JavaScript

monolithed 06.03.2012 13:43

Попробуйте использовать window.requestAnimationFrame


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