Привел тестовый пример с сайта для удобства. Вроде бы всё норм: нажатие на кнопку корзины и появление счетчика товаров. После перезагрузки страницы на сайте уже не будет ни кнопки, ни счётчика (т.к в css у счётчика товаров "num" display:none). Просьба помочь, как реализовать проверку условия: если виден элемент счётчик, то спрятать кнопку, иначе - показать кнопку добавления в корзину
$('.add2cart').click(function(e) {
e.preventDefault();
$(this).hide();
$(this).prev('.num').show();
});
.num {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="num" type="number" placeholder="кол-во">
<a class="add2cart" href="">
<img src="https://d30y9cdsu7xlg0.cloudfront.net/png/38919-200.png" alt="">
</a>
Я попытался сделать такое условие:
if ( $( ".add2cart" ).length ) {
$( ".num" ).show();
} else {
$( ".num" ).hide();
}
Если нужно убедиться, что у блока нет CSS свойства display:none, то подойдёт такой код:
$(function(){
console.log($('.num').css('display')=='none'?'Да, он невидем!':'Блок видимый')
})
.num{
display:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="num"></div>
Под вашу задачу:
let button=$('button')
if($('.num').css('display')=='none') button.show()
else button.hide()
Если ещё ваши селекторы подставить:
let button=$('.num')
if($('.add2cart').css('display')=='none') button.show()
else button.hide()
Если в css стоит
.add2cart{
display: none;
}
Тогда достаточно
$(function(){
if($('.num:visible').length > 0)
$('.add2cart').fadeIn();
});
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости