Как написать это условие с помощью JQuery?
Вот моя функция atm:
$(document).ready(function() {
$("#knd").click(function() {
$("#wars").animate({
opacity:'1'
});
});
});
Он отлично работает, но я хочу добавить параметр, чтобы удалить поле с другим щелчком мыши, полагая, что я сделаю это с помощью оператора if, но я не на 100% от синтаксиса JQuery. Я хочу что-то вроде:
if(#wars is visible) {
$("#wars").animate({
opacity:'0'
});
Как мне написать инструкцию if для этого?
РЕШЕНИЕ:
$(document).ready(function() {
$("#knd").click(function() {
if($("#wars").css('opacity') === '0') {
$("#wars").animate({
opacity:'1'
}); //end of animate
}
else {
$("#wars").animate({
opacity:'0'
}); //end of animate
}
}); //end of KND click function
}); //end of doc ready function
Мне пришлось изменить видимость и вместо этого установить ее непрозрачность, тогда она работала как прелесть с оператором if.
Ответы
Ответ 1
Вы также можете проверить следующее условие:
if($('#knd').css('visibility') === 'visible') {
$("#wars").animate({
opacity:'0'
});
}
Предлагаемое решение:
if($('#wars').css('opacity') === '0') {
$("#wars").animate({
opacity:'1'
});
}
Ответ 2
Вы можете использовать .is(), а также : visible:
if($('#knd').is(':visible')) {
$("#wars").animate({
opacity:'0'
});
}
Ответ 3
Вы можете использовать .is(':visible')
, но вы можете использовать fadeToggle()
или slideToggle()
.
*Toggle()
функция автоматически выполняет то, что вы намереваетесь делать, с эффектами.