Цитата: 
	
 Можно еще то же самое, но не программно, а через аттрибут onclick кнопки: 
<script>
function main() {
    "use strict";
    var tmr;
    function stopMove ()    { clearInterval(tmr); }
    function startMove ()   { tmr = setInterval(moveBtn, 24); }
      
    function moveBtn() { //Объявляй уж в одном стиле
        var btn = $("#btn");
        var left = parseInt( btn.css("margin-Left") ) + 1;
        btn.css("margin-Left", left + "px");
    };
     
    return startMove;
};
</script>
<button onclick="main()">Click me!</button>
Только не особо увлекайся с этими плясками. Если просто играешься - окей, но в продакшн старайся писать как можно проще. Цитата: 
	
 Да, тоже касательно этого отрывка, сразу не заметил: Function Declaration внутри блока - это уже ES6, так что в старых браузерах оно не заработает.  | 
	
		
 Erolast, 
	вот код страницы - не работает :( 
<!doctype html>
<html>
	<head>
		<meta charset="utf8">
		<title>Макет!</title>
		<script src="js/jQuery.js"></script>
		<script>
			function main() {
				"use strict";
				var tmr;
				function stopMove ()    { clearInterval(tmr); }
				function startMove ()   { 
					tmr = setInterval(moveBtn, 24); 
					console.log("We START!!!");
				}
				
				function moveBtn() { //Объявляй уж в одном стиле
					var btn = $("#btn");
					var left = parseInt( btn.css("margin-Left") ) + 1;
					btn.css("margin-Left", left + "px");
				};
				
				return startMove;
			};
		</script>
	</head>
	
	<body>
		<header>
		</header>
		
		<main>
		       <img id="btn" src="img/button.gif">
		 </main>
		
		<footer>
			<input type='button' value='START' onclick='main()'> 
		</footer>
		
	</body>
</html>
 | 
	
		
 Цитата: 
	
  | 
	
		
 рони, 
	"Семён Сенёнович... А-а-а!" (с) :victory: А как на другую кнопку повесить функцию stopMove() ? Как из main() вернуть 2 функции?  | 
	
		
 Keramet, 
	возвращайте обьект {stopMove :stopMove , startMove : startMove } тогда main().stopMove() и main().startMove() а лучше main = main()  | 
	
		
 Цитата: 
	
  | 
	
		
 Keramet, 
	
<!doctype html>
<html>
	<head>
		<meta charset="utf8">
		<title>Макет!</title>
		<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
		<script>
			function main() {
				var tmr;
				function stopMove ()    { clearInterval(tmr); }
				function startMove ()   {
				    stopMove ();
					tmr = setInterval(moveBtn, 24);
					console.log("We START!!!");
				}
				function moveBtn() {
					var btn = $("#btn");
					var left = parseInt( btn.css("margin-Left") ) + 1;
					btn.css("margin-Left", left + "px");
				};
				return  {stopMove :stopMove , startMove : startMove } ;
			};
           main = main()
		</script>
	</head>
	<body>
		<header>
		</header>
		<main>
		       <img id="btn" src="img/button.gif">
		 </main>
		<footer>
			<input type='button' value='START' onclick='main.startMove()'>
            <input type='button' value='STOP' onclick='main.stopMove()'>
		</footer>
	</body>
</html>
 | 
	
		
 рони, 
	а со stopMove() не работает почему-то. я проверил таймер tmr, пишет undefined. Может его тоже в объекте возвращать из main() ? Или лучше его из startMove() возвращать?  | 
	
		
 Цитата: 
	
 1) перед main = main() var нужен? 2) а может лучше заменить объявление функции на функциональное выражение? (var main = function () {...} )  | 
	
		
 Keramet, 
	1 нет 2 как хочешь, можно так var main = (function () {...} )())  | 
| Часовой пояс GMT +3, время: 18:55. |