Закрыть один DIV при открытии другого

#jquery

#jquery

Вопрос:

Чего я пытаюсь добиться, так это закрыть один DIV при открытии другого DIV (нажмите открыть) с помощью jQuery. Ниже приведена структура HTML.

Мне также интересно узнать, можно ли в этом случае управлять несколькими элементами DOM с помощью одной функции.

Структура HTML

 <div class="region-selection">
    <div class="region-search"><h6>REGION</h6></div>
    <div class="region-dropdown"></div>
</div>

<div id="top-login">
    <a href="#" class="top-register"><span>REGISTER</span></a>
    <div class="company-registration-modal"></div>
</div>
  

Здесь, щелкнув по классу .region-search и его дочерним элементам, я мог бы сдвинуть выпадающий список region вниз. Я также мог бы заставить модель регистрации компании нажать кнопку открыть. Однако, когда первый DIV активен, когда я нажимаю на второй DIV, первый остается активным. Мне нужно закрыть его.

Я также пытаюсь использовать одну и ту же функцию jQuery для управления обоими DOM. Возможно ли это?

jQuery заключается в следующем

 $(document).ready(function(){

    var $registration_dropdown=$('.company-registration-modal');
    var $registration_link=$('.top-register span, .fa-registered');

    $registration_dropdown.hide();
    $registration_link.on('click touchend', function(event){

        var target = $(event.target);

        if(target.is($registration_link)){
            $registration_dropdown.slideToggle(300);
            event.stopPropagation();
        }
    });

    $(document).click(function(e) {
        if ($(e.target).closest($registration_dropdown).length===0) {
            $($registration_dropdown).slideUp(300);
        }
    });

    $registration_dropdown.mouseleave(function(){
        $(this).delay(400).slideUp(300);
    });

});
  

Аналогично, я пишу другую функцию для второго DIV.

Комментарии:

1. Синдико, не мог бы ты, пожалуйста, помочь мне с этим

2. Я запутался в том, что вы пытаетесь скрыть и показать. У вас есть несколько элементов «region-selection»?

3. Обратите внимание, что ваш код, как написано, скользит вниз и вверх по пустому div под ссылкой Register. Вы не показываете другой код, поэтому довольно сложно сказать, как они взаимодействуют друг с другом. Вы могли бы написать код, который управлял бы обоими, но вам нужно было бы изменить структуру HTML и / или добавить к ним новые классы.

4. Выпадающий список Region-дочерний DIV выбранного региона будет выпадать при нажатии на элемент h6-REGION. Jquery, который я смог написать, справился с этим. Как только курсор наведен на выпадающий класс region, он также закрывается. Однако, когда я нажимаю на следующий div с верхним идентификатором входа, чтобы удалить его дочерний DIV-company-registration-model, первый DIV остается открытым. Я пытаюсь закрыть выпадающий каталог region, когда нажимаю на верхний login, чтобы открыть его дочерний DIV.

5. Я также пытаюсь запустить единую функцию для обработки обоих DOM без необходимости переписывать коды