|
Не работает if
Привет.
Проблема в том, что нужно проверить свойство display у элемента. Но if не работает, точнее "chek1" не принтется, хотя если посмотреть код страницы, то - id="block-links" style="display: none;". Вот код - $('#open-close').show(); $('#block-links').hide(); $('#open-close').click(function(e) { e.preventDefault(); $('#block-links').slideToggle(); $('.canDisable').css('pointer-events', 'none'); hideChek(); }); function hideChek(){ console.log("chek"); if ( $('#block-links').css('display') == 'none' ){ console.log("chek1"); $('.canDisable').css('pointer-events', 'auto'); } } Вот так при загрузке документа chek1 принтется, но функцию вызвать не получается. Как вызвать подобную функцию? $("#block-links").each(function hideChek(){ console.log("chek"); if ( $(this).css('display') == 'none' ){ console.log("chek1"); $('.canDisable').css('pointer-events', 'auto'); } }); |
cadijob,
проверять css('display') надо до анимации или после e.preventDefault(); тут $('#block-links').slideToggle(или тут); |
Цитата:
|
Цитата:
('#open-close').click(function(e) |
cadijob,
:-? |
Что?)
|
Цитата:
а когда != hidden то - $('.canDisable').css('pointer-events', 'none'); |
cadijob,
$('#open-close').click(function(e) { e.preventDefault(); if ( $('#block-links').is('hidden') ){ $('.canDisable').css('pointer-events', 'auto'); } else $('.canDisable').css('pointer-events', 'none'); $('#block-links').slideToggle(); }); |
cadijob,
это можно записать и без if ... else: $('.canDisable').css('pointer-events', ['auto', 'none'][+$('#block-links').is('hidden')]); |
Цитата:
$('#open-close').click(function(e) { e.preventDefault(); if ( $('#block-links').is('hidden') ){ console.log("auto"); $('.canDisable').css('pointer-events', 'auto'); } else { $('.canDisable').css('pointer-events', 'none'); console.log("none"); } $('#block-links').slideToggle(); }); Только none принтит... Даже когда скрываю элемент. |
Часовой пояс GMT +3, время: 10:48. |
|