Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > анимация


Автор: minimalist 18.9.2010, 17:00
<HTML>
<HEAD>
<script type="text/javascript">
 var num=1
 img1 = new Image (100,100)
 img1.src = "фотки/pic1.jpg"
 img2 = new Image (100,100)
 img2.src = "фотки/pic2.jpg"
 img3 = new Image (100,100)
 img3.src = "фотки/pic3.jpg"  
  function startshow()
  {
   for (i=0; i<21; i=i+1)
{document.mypic.src=eval("img"+num+".src")
    for(x=1; x<8000; x=x+1)
  {}
    num=num+1
    if(num == 4)
    {num = 1}
   }
   document.mypic.src=img1.src
   }
</SCRIPT>
</HEAD>
<BODY>
<CENTER>
<IMG SRC="фотки/pic1.jpg" NAME="mypic" BORDER=0 alt="анимация">
<p><A HREF="JavaScript:startshow()">Показать анимацию</A> 
</CENTER>
</BODY>
</HTML>

не работает. smile 
подскажите! не знаю в чем дело.....

Автор: Amphiluke 18.9.2010, 17:53
Не используйте такой код. Он, мягко говоря, некорректен. smile 



Вот легкий пример на замену.
Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
    var num=0;
    var imgs = new Array();
    for (var i = 1; i < 4; i++) imgs.push(new Image());
    imgs[0].src = "фотки/pic1.jpg";
    imgs[1].src = "фотки/pic2.jpg";
    imgs[2].src = "фотки/pic3.jpg";
    function shownext() {
        num = (num >= imgs.length - 1) ? 0 : num + 1;
        document.getElementById("mypic").src = imgs[num].src;
    }
    function startshow() {
        setInterval(shownext, 3000);
    }
</script>
</head>

<body>
<img src="фотки/pic1.jpg" id="mypic" alt="анимация" />
<p><a href="#" onclick="startshow();">Показать анимацию</a></p> 
</body>
</html>

Автор: minimalist 18.9.2010, 18:16
У ты мне не можешь подсказать в чем может быть проблема...если фотки не загружаются......???
путь верный....на другом коде картинки появляются.....
И что этот код устарел.......????
Если ты знаешь интуит.ру  ....твое мнение....там устарелый материал по javascript'у

Автор: Amphiluke 18.9.2010, 18:25
Вы в результате какой код используете? Я могу отвечать только за пример, который привел вам.

Если вы по-прежнему пользуетесь своим кодом из первого сообщения, то из возможных причин неработоспособности можно предположить эту:
Цитата(minimalist @  18.9.2010,  21:00 Найти цитируемый пост)
document.mypic.src

доступ к объекту по его атрибуту name — архаичный метод, поддержка которого уже может не гарантироваться современыми браузерами. Правильно пользоваться методом getElementById.

Добавлено через 3 минуты и 31 секунду
Цитата(minimalist @  18.9.2010,  22:16 Найти цитируемый пост)
И что этот код устарел.......????

Этот код не только устарел, он логически некорректен. Создание задержки с помощью цикла с пустым телом — это (простите) варварство.

Автор: minimalist 18.9.2010, 18:32
В моем коде картинки появлялись? но анимации нет....В вашем нет картинки....
и этот код находится в программе интуита...как практикум по javascript'у    

Автор: Amphiluke 18.9.2010, 18:38
Цитата(minimalist @  18.9.2010,  22:32 Найти цитируемый пост)
В вашем нет картинки....

У вас сам файл .html в кодировке UTF-8 сохранен? Пути картинок на кириллице…

Автор: minimalist 18.9.2010, 18:40
Цитата

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<head>
<title>Untitled Document</title>
<script type="text/javascript">
    var num=0;
    var imgs = new Array();
    for (var i = 1; i < 4; i++) imgs.push(new Image());
    imgs[0].src = "фотки/pic1.jpg";
    imgs[1].src = "фотки/pic2.jpg";
    imgs[2].src = "фотки/pic3.jpg";
    function shownext() {
        num = (num >= imgs.length - 1) ? 0 : num + 1;
        document.getElementById("mypic").src = imgs[num].src;
    }
    function startshow() {
        setInterval(shownext, 3000);
    }
</script>
</head>
<body>
<img src="фотки/pic1.jpg" id="mypic" alt="анимация" />
<p><a href="#" onclick="startshow();">Показать анимацию</a></p> 
</body>
</html>

код вот в таком виде 
и путь картинок на кириллице

Автор: Amphiluke 18.9.2010, 18:45
Цитата(minimalist @  18.9.2010,  22:40 Найти цитируемый пост)
код вот в таком виде 

Я сейчас проверил этот код в четырех браузерах. Везде работает. smile

Автор: minimalist 18.9.2010, 18:47
из за винды это может быть?

Добавлено через 1 минуту и 33 секунды
Все заработало...респетк огромный, что запарился!!!!!!!!! smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)