|
Можно ли "повесить" внутренние функции на кнопки?
Всем привет!
Вопрос такой: вот есть ДжС файл, который просто передвигает кнопку (типа анимация :write: ). Хочу нажать на кнопку, и она начинает двигаться. За начало "движения" отвечает функция start() Как задать её обработчику onclick на HTML странице? Так не работает: <input type='button' id="btn" onclick='startMove()'>
var main = function () {
"use strict";
var tmr;
function stopMove () { clearInterval(tmr); }
function startMove () { tmr = setInterval(moveBtn, 24); }
var moveBtn = function () {
var btn = $("#btn");
var left = parseInt( btn.css("margin-Left") ) + 1;
btn.css("margin-Left", left + "px");
};
return startMove;
};
$(document).ready(main);
|
Keramet,
на всякий случай start плохое имя для функции. |
startMove подойдёт? :agree: Исправил.
|
рони,
Исправление start() на startMove() не помогло :dance: шутка :) |
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 a;
$(function(){
var main = function () {
"use strict";
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");
};
return st;
};
// a = main()
$("#btn").on({click : main()})
});
</script>
</head>
<body>
<input type='button' id="btn" value="click">
<!--<input type='button' id="btn" onclick='a()'>-->
</body>
</html>
|
рони,
У вас // a = main() вместо моего $(document).ready(main);? |
или конструкция $(function(){.... то же, что и $(document).ready(main); ?
|
а где сам вызов st() из строки 18:
function st() { tmr = setInterval(moveBtn, 24); }
и не совсем понял, зачем
$("#btn").on({click : main()})
мы ж на кнопку должны вроде повесить st() ? |
Цитата:
Цитата:
|
Цитата:
|
| Часовой пояс GMT +3, время: 20:56. |
|