Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Бегущая строка (https://javascript.ru/forum/project/6730-begushhaya-stroka.html)

kali4st 18.12.2009 13:33

Бегущая строка
 
Получил задание от препода написать бегущую строку, с возможностью внесения текста, который бы отображался в ней. Как я понял сверху должна быть сама строка а где-нибудь внизу окно для задания текста. Реализовал бегущую строку а вот окошечко не могу =( Скрипт прилагается:

<SCRIPT LANGUAGE='JavaScript'>
function outmsg(msg,ctrlwidth)
{
msg = " --- "+msg
newmsg = msg
while (newmsg.length < ctrlwidth) {newmsg += msg}
document.write ('<FORM NAME="Outmsg">')
document.write ('<CENTER><INPUT NAME="outmsg" VALUE= "'+newmsg+'" SIZE= '+ctrlwidth+'></CENTER>')
document.write ('</FORM>')
rollmsg()
}
function rollmsg()
{
NowMsg=document.Outmsg.outmsg.value
NowMsg=NowMsg.substring(1,NowMsg.length)+NowMsg.su bstring(0,1)
document.Outmsg.outmsg.value = NowMsg
bannerid=setTimeout("rollmsg()",100)
}
</SCRIPT>
<SCRIPT language='JavaScript'>
outmsg("СТРОКА",70)
</script>

PeaceCoder 18.12.2009 13:47

<SCRIPT type='text/javascript'>
bannerid = null;
function outmsg(msg,ctrlwidth){
  msg = " --- "+msg
  newmsg = msg
  while (newmsg.length < ctrlwidth) {newmsg += msg}
  document.write ('<FORM NAME="Outmsg">')
  document.write ('<CENTER><INPUT NAME="outmsg" VALUE= "'+newmsg+'" SIZE= '+ctrlwidth+'><br>');
  document.write ('<INPUT NAME="outmsgOrig" VALUE= "'+newmsg+'" SIZE= '+ctrlwidth+' onchange="clearTimeout(bannerid); document.Outmsg.outmsg.value= this.value; rollmsg()"></CENTER>')
  document.write ('</FORM>')
  rollmsg()
  }

function rollmsg(){
  NowMsg=document.Outmsg.outmsg.value
  NowMsg=NowMsg.substring(1,NowMsg.length)+NowMsg.substring(0,1)
  document.Outmsg.outmsg.value = NowMsg
  bannerid=setTimeout("rollmsg()",100)
  }


outmsg("СТРОКА",70)
</script>

B~Vladi 18.12.2009 13:57

Цитата:

Сообщение от PeaceCoder
<SCRIPT LANGUAGE='JavaScript'>

Этому препод тебя научил?

kali4st 18.12.2009 13:58

Строчка создалась, за это спасибо но изменения не вносятся =( уже мозг болит может я просто туплю... буду думать, спасибо

kali4st 18.12.2009 14:01

Цитата:

Сообщение от B~Vladi (Сообщение 38333)
Этому препод тебя научил?

как бы я это делаю не через прогу, а через блокнот...

PeaceCoder 18.12.2009 14:09

Цитата:

Сообщение от kali4st
Строчка создалась, за это спасибо но изменения не вносятся =( уже мозг болит может я просто туплю... буду думать, спасибо

Исправил свой пост, попробуй еще раз. должно заработать

B~Vladi 18.12.2009 14:10

Цитата:

Сообщение от kali4st
как бы я это делаю не через прогу, а через блокнот...

Тем более. Надо так:
<script type="text/javascript"></script>

kali4st 18.12.2009 14:12

почему-то, он просто обновляет страницу после нажатия клавишы Enter. и заново вносит во вторую строчку, то что там было ранее. изменений не наблюдается. =(

kali4st 18.12.2009 14:13

Цитата:

Сообщение от B~Vladi (Сообщение 38342)
Тем более. Надо так:
<script type="text/javascript"></script>

Ну да, конечно более приемлимо так =) но работает то в обоих случаях.

PeaceCoder 18.12.2009 14:54

<html>
<body>
<SCRIPT type='text/javascript'>
bannerid = null;
ctrlwidth =70;
str = "СТРОКА";

function out(msg){
  msg = " --- "+msg;
  newmsg = msg;
  while (newmsg.length < ctrlwidth) {newmsg += msg}
  document.Outmsg.outmsg.value=newmsg;
  rollmsg();
  }
 
function rollmsg(){
  NowMsg=document.Outmsg.outmsg.value
  NowMsg=NowMsg.substring(1,NowMsg.length)+NowMsg.substring(0,1)
  document.Outmsg.outmsg.value = NowMsg
  bannerid=setTimeout("rollmsg()",100)
  }
 
  document.write ('<FORM NAME="Outmsg">');
  document.write ('<CENTER><INPUT type="text" NAME="outmsg" VALUE= "'+str+'" SIZE= '+ctrlwidth+'><br>');
  document.write ('<INPUT type="text" NAME="outmsgOrig" VALUE= "'+str+'" SIZE= '+ctrlwidth+' onkeyup="clearTimeout(bannerid); out(this.value);"></CENTER>');
  document.write ('</FORM>');
 
out(str);

</script>
</script>
</body>
</html>


П.С. отвыкай называть функции так же как элементы...


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