Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Не работает if (https://javascript.ru/forum/jquery/69675-ne-rabotaet-if.html)

cadijob 11.07.2017 17:31

Цитата:

Сообщение от laimas (Сообщение 458190)
cadijob,
это можно записать и без if ... else:

$('.canDisable').css('pointer-events', ['auto', 'none'][+$('#block-links').is('hidden')]);

Так -
$('#open-close').click(function(e) {
        e.preventDefault();
        $('.canDisable').css('pointer-events', ['auto', 'none'][+$('#block-links').is('hidden')]);

        $('#block-links').slideToggle();
    });
?

рони 11.07.2017 18:05

cadijob,
делайте минимальный макет, только самое необходимое.

cadijob 11.07.2017 18:53

Цитата:

Сообщение от рони (Сообщение 458194)
cadijob,
делайте минимальный макет, только самое необходимое.

Вот - https://drive.google.com/open?id=0Bx...Dg4eFJhU3RzUHc

рони 11.07.2017 19:36

cadijob,
я двоеточие забыл :) is(' тут hidden')
можно так
$(function() {
    $("#open-close").show();
    $("#block-links").hide();
    $("#open-close").click(function(a) {
        a.preventDefault();
        $("#block-links").slideToggle(400, function() {
            $(".canDisable").css("pointer-events", ["none", "auto"][+$(this).is(":hidden")])
        })
    })
});


или так
$(function() {
    $("#open-close").show();
    $("#block-links").hide();
    $("#open-close").click(function(a) {
        a.preventDefault();
        $(".canDisable").css("pointer-events", ["auto","none"][+$("#block-links").is(":hidden")])
        $("#block-links").slideToggle(400)
    })
});

cadijob 11.07.2017 19:48

Шикарно. Спасибо большое.
Ещё вопрос: вот когда ссылка на теги отключена, jQuery и Ajax могут взаимодействовать с этими элементами?

рони 11.07.2017 19:54

Цитата:

Сообщение от cadijob
jQuery и Ajax могут взаимодействовать с этими элементами?

да

cadijob 11.07.2017 20:30

А как это называется -
["none", "auto"][+$(this).is(":hidden")])
? Я так понял что в одной строке помещаться целое условие(зависимость от hidden), можно туда ещё переменную поставить, что бы также от него зависела?Хотелось бы изучить.

рони 11.07.2017 20:34

cadijob,
:blink:
массив это называется, is(":hidden") возвращает true/false
alert(+false)

alert(+true)

alert(["none", "auto"][+false])

alert(["none", "auto"][+true])

рони 11.07.2017 20:39

cadijob,
Цитата:

Чтобы получить нужный элемент из массива – указывается его номер в квадратных скобках,
https://learn.javascript.ru/array

cadijob 11.07.2017 20:59

Вот так сделал:
OpenArea=[+$(this).is(":hidden")];
                console.log(OpenArea);

Как сделать, чтобы в переменную заносил не 0 и 1, а true и false и, если это важно для дальнейшей работой с переменной без []?


Часовой пояс GMT +3, время: 06:51.