Javascript If Else вложенность - PullRequest
       5

Javascript If Else вложенность

0 голосов
/ 12 октября 2010

Здравствуйте, вот мой код: var one = 0;var two = 0;вар три = 0;var free = 1;function open () {

    if ($('#one').is(':visible')) {
        one = 1;
    }
    else {
        one = 0;
        free = 1;
    }

    if ($('#two').is(':visible')) {
        two = 1;
    }
    else {
        two = 0;
        if (one == 1) {
            free = 2;
        }
    }

    if ($('#three').is(':visible')) {
        three = 1;
    }

    else {
        three = 0;
        if (one == 1 && two == 1) {
            free = 3;
        }

    }
}

, а затем в части HTML

<body onload="javascript:window.setInterval('open()', 1000)">

Теперь слои один, два и три по умолчанию скрыты.Теперь проблема в том, что сначала вывод HTML (на уровне 7) равен 1 (значение free).Но через одну секунду он меняется на 2. Разве он не должен оставаться прежним?Это потому, что все слои имеют одинаковую видимость (скрытую) в каждый момент времени ...

1 Ответ

0 голосов
/ 12 октября 2010

дать класс (например, «слои») каждому слою, чтобы собрать их все вместе. Затем зациклите их, чтобы найти первое невидимое и получить идентификатор.

var free = undefined;

$('.layers').each(function()
{
    if(!$(this).is(':visible'))
    {
        free = $(this).attr('id');
        break;
    }
});

if(free != undefined)
    alert('layer '+free+' is free');
else
    alert('there are no free layers');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...