Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Бегущий Nyan Cat (gif), помогите остановить! (https://javascript.ru/forum/misc/39462-begushhijj-nyan-cat-gif-pomogite-ostanovit.html)

VINRARUS 01.07.2013 15:20

Бегущий Nyan Cat (gif), помогите остановить!
 
При загрузке страницы по горизонтали пробегает картинка:
function init_move() {
      dx = 1 
     setInterval("move()",8)
	      }
    function move() {
           var x = parseInt(document.all.pic.style.left);
           document.all.pic.style.left = x + dx;
      if (x > document.documentElement.clientWidth ) {
//как бы его тут остановить?
	  }

    }

<img name="pic" src="/root/home/www/cgi-bin/Nyan_Cat.gif" style="position:absolute; top:300; left:-180;">
    <script>
      init_move()
</script>

Но как при достижении границы экрана остановить скрипт (отмечено комментарием)?
Ведь на то он и Nyan Cat, бежит и бежит, бесконечно увеличивая полосу прокрутки по горизонтали - но мне этого же не не нужно.:D

Уже несколько методов попробовал - не выходит.

zebra 01.07.2013 15:26

var timer = setInterval(){};
clearInterval(timer);

VINRARUS 01.07.2013 15:39

Цитата:

Сообщение от zebra (Сообщение 259445)
var timer = setInterval(){};
clearInterval(timer);

А можете помочь подправить код целиком, а то моих скромных знаний JS оказалось мало, не выходит у меня вставить правильно эти 2 строчки. :blink:

ruslan_mart 01.07.2013 16:04

function init_move()
{
   dx = 1 
   init_time = setInterval(function()
   {
      var x = parseInt(document.all.pic.style.left);
      document.all.pic.style.left = x + dx;
      if (x > document.documentElement.clientWidth) clearInterval(init_time);
   }, 8)
}

VINRARUS 01.07.2013 16:19

Большое спасибо, теперь Nyan Cat приручен! :dance:

danik.js 01.07.2013 17:02

Зачем img'у name? Пропиши вместо него id и вместо document.all.pic просто pic (или лучше document.getElementById('pic') )

VINRARUS 01.07.2013 18:48

Цитата:

Сообщение от danik.js (Сообщение 259459)
Зачем img'у name? Пропиши вместо него id

Ну да, тоже подумал что бред. Но это было в каком то уроке
Цитата:

Сообщение от danik.js (Сообщение 259459)
или лучше document.getElementById('pic')

Firefox тоже с консоли об этом намекнул. :D
Поправил - работает, пасибо. :)

ruslan_mart 02.07.2013 05:03

По крайней мере, вместо document.all лучше писать document.images.


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