@pillson

Странное поведение jquery при событии click и условии?

https://yadi.sk/i/Bl1nUWYD9v2WCw вот видео, видно что сумма свыше 5000 а он отработает только при следующем клике

или наоборот

var nextSum = parseFloat($('.basket-sum').html());
   
    if(nextSum > 2000 && nextSum <3000){
        var nextSumStep = 3000-nextSum;
        $('.nextStep').html('Закажите еще на '+nextSumStep.toFixed(2)+'₽ и cтоимость доставки составит 350 рублей');
    }
    if(nextSum > 3000 && nextSum <5000){
        var nextSumStep = 5000-nextSum;
        $('.nextStep').html('Закажите ещё на '+nextSumStep.toFixed(2)+'₽ для бесплатной доставки по г. Москва');
    }
    if(nextSum > 5000){
        $('.nextStep').css('display', 'none');
    } else{
        $('.nextStep').css('display', 'flex');
    }


Суть в том. что к примеру если общая сумма дошла до 5000 то плашка исчезает, в обратном случае она при сумме 4997 не исчезнет, а при следующем клике исчезнет, странное поведение отработки проверки на сумму, в чем может быть проблема?
  • Вопрос задан
  • 42 просмотра
Пригласить эксперта
Ответы на вопрос 1
iiiBird
@iiiBird
Пока ты спишь - твой конкурент совершенствуется
полностью логичное поведение.
при клике ты берешь parseFloat($('.basket-sum').html()) и работаешь с ним.
если в момент клика там не больше 5000 - он и не будет скрываться.
а скрываться будет уже после того, как в момент клика в $('.basket-sum').html() будет больше 5000
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы