|
Не работает 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, время: 03:06. |
|