@viktorulyushev

Как лучше написать скрипт изменения картинки от количества?

Есть счетчик желаний,у каждого товара есть кнопка добавить в список желаний,при нажатии на эту кнопку счетчик увеличивается или уменьшается,мне нужно чтобы когда на счетчике 0 картинка была одна,а когда больше нуля то другая,пришлось как то закостылить сильно,можно ли было это сделать легче?

if($(".wishlist-header-block-count").text() > 0){
                $(".cart-mini-wishlist-img").css("background","url(/Templates/Shopnz/images/wishcustom-hover.png) no-repeat center center")
            } else {
                $(".cart-mini-wishlist-img").css("background","url(/Templates/Shopnz/images/wishcustom.png) no-repeat center center")
            }

            $(".wishlist-control").on("click",function(){
                function asd(){
                    var q = $(".wishlist-header-block-count").text();
                    if(q > 0){
                        $(".cart-mini-wishlist-img").css("background","url(/Templates/Shopnz/images/wishcustom-hover.png) no-repeat center center")
                    } else {
                        $(".cart-mini-wishlist-img").css("background","url(/Templates/Shopnz/images/wishcustom.png) no-repeat center center")
                    }
                }
                setTimeout(asd,500);
            });

при чем пришлось добавить задержку,т.к при клике значение еще старое
  • Вопрос задан
  • 134 просмотра
Пригласить эксперта
Ответы на вопрос 1
Сделай это стилями и в коде добавляй только класс для блока.

.wish {
  background: url(/Templates/Shopnz/images/wishcustom-hover.png) no-repeat center center;
}
.no-wish {
  background: url(/Templates/Shopnz/images/wishcustom.png) no-repeat center center;
}


if($(".wishlist-header-block-count").text() > 0){
  $(".cart-mini-wishlist-img").removeClass("no-wish");
  $(".cart-mini-wishlist-img").addClass("wish");
} else {
  $(".cart-mini-wishlist-img").removeClass("wish");
  $(".cart-mini-wishlist-img").addClass("no-wish");
}
// и так далее...
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы