Функция в функции
Добрый день! Может кто объяснить как запускается функция в функции при запуске одной из них посредством oncklick. Вот так не работает:
<head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title> Функция в функции</title> </head> <body> function start() { var a1=1; function dovyvod() { a1=a1+1; document.getElementById("a1").innerHTML=a1; } } <div> Значение a1++ <div id="a1"> Выводится здесь </div> </div> </div> <form> <input type="button" value="Старт!" onclick="start()" /> </form> </body> |
dovyvod(); |
Цитата:
<имя_функции>(<параметры>); |
1. Заключай javascript-код на этом форуме в тег JS. Тогда он внезапно станет во много раз читабельнее.
2. В твоем коде ты объявил функцию dovyvod, область видимости которой ограничивается функцией start. Ты ее не запускал. Как запускать - уже сказали. |
Всем спасибо за ответы. А тег [js] только здесь работает?
|
Цитата:
|
Добавил запуск функции, но теперь вопрос почему onclick срабатывает только один раз?
<!DOCTYPE> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title> Функция в функции</title> </head> <body> var a1=1; function start() { function dovyvod() { a1=a1+1; document.getElementById("a1").innerHTML=a1; } dovyvod(); } <div> Значение a1++ <div id="a1"> Выводится здесь </div> </div> <form> <input type="button" value="Старт!" onclick="start()" /> </form> </body> |
Цитата:
P.S. С форматированием кода ты так ничего и не понял... :-E |
onclick должен срабатывать каждый раз когда я нажимаю на кнопку, а у меня один раз срабатывает, конечно нужно в панели ошибок посмотреть, но сейчас нет возможности.
|
Реализовал то что мне было нужно, перечислив в событии onclick функции через запитую, но почему предыдущий пример не работает мне не понятно :-E
<!DOCTYPE> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title> Функция в функции</title> </head> <body> <script> var a1=1; var b=1; function start() { a1=a1+1; document.getElementById("a1").innerHTML=a1; } function dovyvod() { b=b+a1; document.getElementById("b").innerHTML=b; } </script> <div> Значение a1++ <div id="a1"> Выводится здесь </div> Значение b <div id="b"> Выводится здесь </div> </div> <form> <input type="button" value="Старт!" onclick="start(), dovyvod()" /> </form> </body> |
Цитата:
Не делай так. Код в javascript разделяется точкой с запятой. Цитата:
|
Цитата:
<!DOCTYPE html> <html> <head> <!-- <script src='http://code.jquery.com/jquery-latest.js'></script> <link rel='stylesheet type=text/css href=tmp.css' /> --> <style type='text/css'> </style> <script type='text/javascript'> var a1=1; function start() { function dovyvod() { a1=a1+1; document.getElementById("a1").innerHTML=a1; }; dovyvod(); }; </script> </head> <body> <div> Значение a1++ <div id="a1"> Выводится здесь </div> </div> <form> <input type="button" value="Старт!" onclick="start()" /> </form> </body> </html> Но сам пример просто пипец! :D Зачем в функции объявлять функцию и потом сразу ее запускать? :blink: |
Этот пример был для того, чтобы понять как вызовом одной функции вызвать еще несколько других. Из-за не поставленных ; пример не работал. Но получается что перечислять функции выполняемые по событию onclick можно? Их нужно перечислять через ; ?
<input type="button" value="Старт!" onclick="start1(); start2(); start3(); и т.д." /> |
ksa, спасибо что не ленишься помогать новичкам!
|
Цитата:
|
Часовой пояс GMT +3, время: 14:48. |