Вход

Просмотр полной версии : Значение переменной не может привысить 30 и опуститься ниже 1-го, как сделать?


libinstyle
12.07.2010, 21:49
Здравствуйте!
Есть <input type="text" value="1" />

и внизу две кнопки, одна "вперед", другая "назад".
Мне надо сделать. чтоб когда я нажимаю вперед, значение текстового поля увеличивалось на 1. И так до 30-ти, то есть когда значение достигло 30, можешь жать до посинения, больше 30 оно не станет. Когда жмешь на "назад", значение соответственно уменьшается, но опять же не меньше единицы.

Написал скрипт, с кучей if-ов, получилось достаточно длинно. Чую, что это делается как то проще в три строчки. Подскажите пожалуйста, как осуществить такую вещь.

Заранее спасибо

exec
12.07.2010, 22:03
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>
+-
</title>
<script type="text/javascript">
function v( step, lim, a ) {
var e = document.getElementById( 'txt' );
if ( a ? e.value < lim : e.value > lim ) {
e.value = +e.value + step;
}
}
</script>
</head>
<body>
<input type="text" id="txt" value="10" />
<input type="button" value="+" onclick="v( 1, 30, true );" />
<input type="button" value="-" onclick="v( -1, 1, false );" />
</body>
</html>

libinstyle
12.07.2010, 22:05
Шикарно! Спасибо!!

Octane
12.07.2010, 23:27
libinstyle, не дублируйте темы.