Установка максимума для поля ввода с помощью оператора if - PullRequest
1 голос
/ 26 февраля 2012

Я использую Jquery, чтобы получить входное значение, так как в нем набраны цифры.А также рисование кругов в div #canvas_container с помощью Raphaeljs на основе введенного числа.В настоящее время я пытаюсь установить максимальное значение ввода, например if (value <= 50) {, где значение - это ввод пользователя.

В конечном итоге я хочу добиться того, чтобы пользователь печатал 30, 30 кружков.Если пользователь вводит 60 или любое значение 50 и выше, рисуются 50 кружков.Создание максимального количества кругов, нарисованных на canvas_container.Сейчас я просто пытаюсь добиться того, чтобы ничего не происходило, когда вводится любое значение 50 и выше, но нарисованы некоторые круги, но только несколько, я не уверен почему.*

1 Ответ

2 голосов
/ 26 февраля 2012

Насколько я вижу, у вас есть две ошибки:

  1. Вам нужно очищать бумагу при каждом вводе ключа, иначе новые круги будут добавляться к "старым" при каждом вводе ключа ()
  2. Ваша обработка, если значение> 50 немного сложнее

Давайте исправим это (в упрощенном варианте):

var paper = new Raphael(25, 25, 500, 500);
$("input").keyup(function() {
    var value = parseInt($(this).val());
    paper.clear();

    if (value > 50) {
        value = 50;
    }

    for (i = 0; i < value; i++) {

        var randomNumber1 = 50 + 5 * i;
        var randomNumber2 = 50 + 5 * i;

        var circle = paper.circle(randomNumber1, randomNumber2, 20);
    }
});​

Взгляните на Fiddle , надеюсь, это то, чего вы хотели достичь.

...