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


Автор: GIK 14.10.2005, 14:56
Хочу теперь, чтобы набирался тескт, т.е какое нибуть СЛОВО (не обязательно произвольное).
Подкиньте идею как реализовать smile
Код

<html>
<head>
<script type="text/javascript">
<!--
     function plus() 
{  var k=document.img.width;
   var a=5;
   if (k<340)
   {document.img.width=k+a;  
    setTimeout("plus()",24);
   }
  else 
  {minus();}  

}
     function minus()
 { var k=document.img2.width; 
   var a=5;
   if (k<340)
   { document.img2.width=k+a;
      setTimeout("minus()",24);
     }
    else {kod();}
}  
  function kod()
 { var a1=document.img.width;
   document.img.width=a1-5 
   if(a1>120)
  {
   setTimeout("kod()",24);
   }
  else {kod2();}
  }  
  function kod2()
{ var b1=document.img2.width;
  document.img2.width=b1-5;
 if (b1>120)
  { setTimeout("kod2()",24);}

 else {xak();}

 }                       

  function xak()
{ var a_val = document.getElementById("xy");
   var a = a_val.value; 
   a_val.value=(a+"g");
  if (a_val.value.length<12)
  { setTimeout("xak()",24);}

}


//-->
</script>
</head>
<body>
  <p>
 <img src="1.gif" name="img" width=120>
  </p>
  <p>  
 <img src="1.gif" name="img2" width=120>
  </p>
 <input type="text" name="xy" size=24 value=1><br>
<form name="form1">
<input type="button" name="strt" value="Запустить" onClick="plus()"><br>
</form>

</body>
</html> 





Автор: DEER 14.10.2005, 15:13
создай массив, в котором будет храниться слово, и в цикле выводи

Автор: GIK 14.10.2005, 15:37
OK! Попробую

Автор: GIK 14.10.2005, 16:34
Вот только что-то не получается совместить цикл for с setTimeout smile

Автор: Aliance 14.10.2005, 17:40
Кидай что получается - исправим/дополним

Автор: GIK 15.10.2005, 10:13
Вот весь скрипт.
Попытался создать глобальную переменную(i), и иничиализировать ее в функции. А цикл for тут явно не подходит.
Код

<html>
<head>
<script type="text/javascript">
<!--
     function plus() 
{  var k=document.img.width;
   var a=5;
   if (k<340)
   {document.img.width=k+a;  
    setTimeout("plus()",24);
   }
  else 
  {minus();}  

}
     function minus()
 { var k=document.img2.width; 
   var a=5;
   if (k<340)
   { document.img2.width=k+a;
      setTimeout("minus()",24);
     }
    else {kod();}
}  
  function kod()
 { var a1=document.img.width;
   document.img.width=a1-5 
   if(a1>120)
  {
   setTimeout("kod()",24);
   }
  else {kod2();}
  }  
  function kod2()
{ var b1=document.img2.width;
  document.img2.width=b1-5;
 if (b1>120)
  { setTimeout("kod2()",24);}

 else {xak();}

 }                       
 var i=-1;
  function xak()
{ var mas=new Array();
  mas[0]=j;
  mas[1]=a;
  mas[2]=v;  
  mas[3]=a;
  mas[4]=S;
  mas[5]=c;  
  mas[6]=r;
  mas[7]=i;
  mas[8]=p;  
  mas[9]=t;
  i++;
  var a_val = document.getElementById("xy");
  var n=a_val.value;
  a_val.value=n+mas[i]; 
 
  if (a_val.value.length<10)
  {setTimeout("xak()",24);}

}


//-->
</script>
</head>
<body>
  <p>
 <img src="1.gif" name="img" width=120>
  </p>
  <p>  
 <img src="1.gif" name="img2" width=120>
  </p>
 <input type="text" name="xy" size=24 value=''><br>
<form name="form1">
<input type="button" name="strt" value="Запустить" onClick="plus()"><br>
</form>

</body>
</html> 

Автор: GIK 15.10.2005, 10:39
Задачка усложнилась, теперь надо постепенное увеличение картинки (частичное увеличение первой, частичное увеличение второй, даллее увеличение до максимума (width=540), уменьшение обоих поочередно сразу(хотябы smile ) до минимума ну и набор слова)
Код

<html>
<head>
<script type="text/javascript">
<!--
     function plus() 
{  var k=document.img.width;
   var a=5;
   if (k<340)
   {document.img.width=k+a;  
    setTimeout("plus()",24);
   }
  else 
  {minus();}  

}
     function minus()
 { var k=document.img2.width; 
   var a=5;
   if (k<340)
   { document.img2.width=k+a;
      setTimeout("minus()",24);
     }
    else {plus2();}
   }  

   function plus2() 
 { var k=document.img.width;
   var a=5;
   if (k<540)
   {document.img.width=k+a;  
    setTimeout("plus()",24);
   }
  else 
  {minus2();}  
  }
 function minus2()
 { var k=document.img2.width; 
   var a=5;
   if (k<540)
   { document.img2.width=k+a;
      setTimeout("minus()",24);
    }
    else {kod();}
      
 }
     function kod()
 { var a1=document.img.width;
   document.img.width=a1-5 
   if(a1>120)
  {
   setTimeout("kod()",24);
   }
  else {kod2();}
  }  
  function kod2()
{ var b1=document.img2.width;
  document.img2.width=b1-5;
 if (b1>120)
  { setTimeout("kod2()",24);}

  else (xak();)

 }                       
 var i=-1;
  function xak()
{ var mas=new Array();
  mas[0]=j;
  mas[1]=a;
  mas[2]=v;  
  mas[3]=a;
  mas[4]=S;
  mas[5]=c;  
  mas[6]=r;
  mas[7]=i;
  mas[8]=p;  
  mas[9]=t;
  var i=0;
  i++;
  var a_val = document.getElementById("xy");
  var n=a_val.value;
  a_val.value=n+mas[i]; 
 
  if (a_val.value.length<10)
  {setTimeout("xak()",24);}

}


//-->
</script>
</head>
<body>
  <p>
 <img src="1.gif" name="img" width=120>
  </p>
  <p>  
 <img src="1.gif" name="img2" width=120>
  </p>
 <input type="text" name="xy" size=24 value=''><br>
<form name="form1">
<input type="button" name="strt" value="Запустить" onClick="plus()"><br>
</form>

</body>
</html> 

Автор: GIK 15.10.2005, 11:04
Нашел баг в своем коде:
вместо
Код

function kod()
 { var a1=document.img.width;
   document.img.width=a1-5 
   if(a1>120)
  

нужно
Код


    function minus3()
 { var k12=document.img1.width; 
   var a12=5;
   if (k12>120)
   { document.img1.width=k12-a12;
      setTimeout("minus3()",24);}
   else {plus3();}

Добавлено @ 11:07
Не пойму, вроде все правильно, но не работает (код без выполнения слова)
Код

<html>
<head>
<script type="text/javascript">
<!--
     function plus() 
{  var k=document.img.width;
   var a=5;
   if (k<340)
   {document.img.width=k+a;  
    setTimeout("plus()",24);
   }
  else 
  {minus();}  

}
     function minus()
 { var k=document.img2.width; 
   var a=5;
   if (k<340)
   { document.img2.width=k+a;
      setTimeout("minus()",24);
     }
    else {plus2();}
   }  

   function plus2() 
 { var k=document.img.width;
   var a=5;
   if (k<440)
   {document.img.width=k+a;  
    setTimeout("plus()",24);
   }
  else 
  {minus2();}  
  }
 function minus2()
 { var k=document.img2.width; 
   var a=5;
   if (k<440)
   { document.img2.width=k+a;
      setTimeout("minus()",24);
    }
   else {minus3();}     
 }

      function minus3()
 { var k12=document.img1.width; 
   var a12=5;
   if (k12>120)
   { document.img1.width=k12-a12;
      setTimeout("minus3()",24);}
   else {plus3();}
      
 }
 function plus3()
 { var k11=document.img2.width; 
   var a11=5;
   if (k11>120)
   { document.img2.width=k11-a11;
     setTimeout("plus3()",24);
    }
   else {plus();}
      
 }
//-->
</script>
</head>
<body>
  <p>
 <img src="1.gif" name="img" width=120>
  </p>
  <p>  
 <img src="1.gif" name="img2" width=120>
  </p>
 <input type="text" name="xy" size=24 value=''><br>
<form name="form1">
<input type="button" name="strt" value="Запустить" onClick="plus()"><br>
</form>

</body>
</html> 

Автор: Aliance 15.10.2005, 14:07
document.img2 - избегай такого, в дальнейшем это не будет работать, Обращайся к элементу по ID, используя document.getElementById(ID)

Автор: Sardar 15.10.2005, 20:00
Написал немного как нужно анимации создавать: http://forum.vingrad.ru/index.php?act=ST&f=188&t=67475 smile

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