по клину на кнопке Вы запускаете функцию main, это вроде понятно. Я просто не пойму, где происходит вызов st(). Ведь внутри main она не вызывается, только определяется. 
	 | 
	
		
 моя логика была такая: вот эти строки 
	
var tmr;
    function stopMove ()    { clearInterval(tmr); }
    function startMove ()   { tmr = setInterval(moveBtn, 24); }
не определять в глобальном контексте, а сделать это внутри функции (в данном случае main), которая запуститься как только броузер построит ДОМ ))  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
 смотрите ранее что возвращает main => return st;  | 
	
		
 рони, 
	а, теперь вроде догоняю))  | 
	
		
 Keramet, 
	
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
  var main = function () {
	var tmr;
	function stop()	    { clearInterval(tmr); }
	function st()	{ tmr = setInterval(moveBtn, 24); }
	var moveBtn = function () {
		var btn = $("#btn");
		var left = parseInt( btn.css("margin-Left") ) + 1;
		btn.css("margin-Left", left + "px");
	};
    st()
	return st;
};
$(main);
  </script>
</head>
<body>
<input type='button' id="btn"  value="click">
</body>
</html>
 | 
	
		
 Цитата: 
	
 Если определить функции внутри другой функции, то они только в ней видны и будут. Обработчики событий на элементах выполняются в глобальной контексте, и, соответственно, ни о каких stopMove и startMove они знать в принципе не могут. Так что либо навешивай обработчик программно внутри функции main: 
var main = function() {
    "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");
    };
    
    $("#btn").on("click", startMove);
};
$(document).ready(main);
Либо объявляй функции глобально.  | 
	
		
 Цитата: 
	
 Цитата: 
	
 Цитата: 
	
 Цитата: 
	
  | 
| Часовой пояс GMT +3, время: 18:55. |