Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ада и другие языки _ Html/js

Автор: klem4 10.12.2006 16:57

Не могу понять почему не работает простейший скрипт, есть кнопка, при каком либо событии, пусть будет onClick должно произойти следующее: Цвет меняется, далее пауза (пара секунд) и цвет меняется еще раз.

Что-то мне подсказывает что задержку я не верно делаю, цвет меняется у меня только один раз:

HTML
<html>
<head>
<title> Simple Script </title>
</head>

<body>

<script language = "javascript">

function DoNothing()
{
// alert('Nothing!');
}

function ChangeColor(input)
{
input.style.color = "Red";

setTimeout(DoNothing(), 10000); // 10000 по идее секунда (пробовал менше (и 0) никакого различия)

input.style.color = "Blue";
}

</script>

<br><br><br><br><br><br>

<form name = "F1" id = "F1">
<p align = "center" > <input type = "button" name = "btn1" align = "center" value = "Ok"
onClick = ChangeColor(btn1)>
</form>

</body>
</html>


Я в этих делах новичок smile.gif Так что еще вопрос, существует какое-нибудь средство для проверки скриптов (хотябы на синтаксические ошибки ) ?

Автор: xds 10.12.2006 19:12

Код
<html>
  <head>
    <title> Simple Script </title>
  </head>
  
  <body>
  
    <script language = "javascript">
    
      function DoSomething()
      {
        F1.btn1.style.color = "Blue";
      }
      
      function ChangeColor(input)
      {
        input.style.color = "Red";
    
    setTimeout("DoSomething()", 2000);  // 2000 мс = 1 с
    
      }
      
    </script>
    
    <br><br><br><br><br><br>
    
    <form name = "F1" id = "F1">
      <p align = "center" > <input type = "button" name = "btn1" align = "center" value = "Ok"
       onClick = ChangeColor(btn1)>
    </form>
    
  </body>
</html>

Автор: klem4 10.12.2006 19:41

Спасибо, не стого бока я правда зашел судя по всему smile.gif

Функция, которая передается в setTimeout может иметь параметры? Это во первых, а вот например если написать такоe:

Код
      function ChangeColor(input)
      {
        input.style.color = "Red";
    
        setTimeout("DoSomething()", 2000);  // 2000 ìñ = 1 ñ
    
        alert("some test");
      }



Сначала выполнится alert и только потом задержка и выполление DoSomething();

Как-то все непоследовательно выходит smile.gif

Автор: xds 10.12.2006 20:13

Не успел написать - говорил по телефону smile.gif

Вызов setTimeout() выполняется практически мгновенно - он просто указывает на то, что надо вызвать функцию через указанное количество миллисекунд. Параметры передавать можно.

Автор: klem4 10.12.2006 20:16

Цитата
он просто указывает на то, что надо вызвать функцию через указанное количество миллисекунд


Так и думал, спасибо ;)

подстава выходит smile.gif

А есть какое-нибуь еще средство "сделать паузу и скушать парочку твикс"

какойнить sleep, delay ... неужели ничего ? Чтобы это была действительно пауза в сценарии

Автор: Алена 10.12.2006 21:03

HTML
<html>
<head>
<title> Simple Script </title>
</head>

<body>

<script language = "javascript">
var global_input;
function DoIt(input) {
global_input.style.color = "blue";
}
</script>

<br><br><br><br><br><br>

<form name = "F1" id = "F1">
<p align = "center" > <input type = "button" id="btn_id" name = "btn" align = "center" value = "Ok"
onClick = "this.style.color='red'; global_input=this; setTimeout('DoIt()', 1500);">
</form>

</body>
</html>
не устроит?

Автор: Bokul 10.12.2006 23:02

Цитата
Так что еще вопрос, существует какое-нибудь средство для проверки скриптов (хотябы на синтаксические ошибки ) ?

http://forum.pascal.net.ru/index.php?s=&showtopic=11783&view=findpost&p=72475

Автор: klem4 10.12.2006 23:42

Спасибо, посмотрю.

Вот пока не могу понять в чем тут трабл, увидел такую штуку, решил реализовать, получилось, в браузере запускается, но после выполнения страничка продолжает "грузиться", а в редакторе просто пишет об ошибке (аттач)

и так волнообразный текст:

Код
<html>
<!-- Волнообразный текст -->

  <head>
    <title> Волнообразный текст </title>
  </head>
  
<body>

  <form name = "F1" id = "idF1">

    <table align = "center" width = "50%">
    
    <tr>
    
      <td><label for "txtInput"> Ваш текст</label>
      <td><input type = "text" id = "txtInput" name = "txtInput" width = "100%">
      
    <tr>
      <td> <input type = "button" name  = "btn1" id = "btn1" value = "Выполнить скрипт" onClick = Convert()>
      
    </table>
  </form>
  
  <script language = "javascript">
  
    function Convert()
    {
      var L = document.F1.txtInput.value.length;
      
      var fSize = 0;
      var desc = false;
      
      for (var i = 0; i < L; i++)
      {
         if (fSize == 7) desc = true;
          else
         if (fSize == 0) desc = false;
        
         fSize = desc ?  --fSize : ++fSize;
        
       document.write(document.F1.txtInput.value.charAt(i).fontsize(fSize));
      }
    }
    
  </script>
  
</body>
</html>



Эскизы прикрепленных изображений
Прикрепленное изображение