Как изменить видимость элемента на основе .изменения флажка

#jquery

#jquery

Вопрос:

Я хочу показать, #comparelist установлен ли какой-либо из .addtocomparelist флажков, и скрыть его, если он снят. #compare список есть display: none; в css.

     $('.addtocomparelist').change(function(e) {
         $('#comparelist').toggle();
         if($(this).is(':checked')){
              var x = $(this).val();
              var img = $('#'   x).find('.productimage img').attr('src');
              var name = $('#'   x).find('.productname').text();
              $('#comparelist').find('ul').append('<li id="c' x '"><a href="#"><img src="' img '">' name '</a><a href="#" class="deleteitem"><i class="fa fa-times-circle"></i></a></li>');
         } else {
              var x = $(this).val();
              $('#c'   x).remove();
         }
 });
  

Ответ №1:

Я хочу показать #comparelist, если установлен какой-либо из флажков .addtocomparelist

Вам нужно использовать .toggle (показать или скрыть)

Логическое значение, указывающее, показывать или скрывать элементы.

Использовать

 $('#comparelist').toggle($('.addtocomparelist').is(':checked'));
  

Редактировать

как я могу добавить ‘fast’ для переключения, куда я должен его поместить, в этом вам нужно использовать .show() и .hide()

Пример

 var isChecked = $('.addtocomparelist').is(':checked')
if(isChecked){
    $('#comparelist').show('fast'); //You can use slideDown
}else{
    $('#comparelist').hide('fast'); //You can use slideUp
}