Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.07.2019, 11:29
Интересующийся
Отправить личное сообщение для CORONER Посмотреть профиль Найти все сообщения от CORONER
 
Регистрация: 27.02.2018
Сообщений: 22

Закрытие открытого блока при клике на другой
Доброго времени суток, суть проблемы состоит в том, чтобы при клике на #trigger2 открывался #box2, при клике на #trigger3 - #box2 закрывался и открывался #box3, аналогично с #box4, при клике вне блоков #box2,3,4 закрытие этих блоков, но тут возникает проблема, что собственно триггеры будут областью вне дива box и соотвественно не откроются.

Спасибо за внимание! С уважением, Coroner.

Демо


<div class="advanced">
            
              <a href='#' id='trigger2'> <article>
            <img src="img/discount.png">
                <span>
                акции на товары недели
                </span>
                <p>скидки до -50%</p>
                  </article></a>
          <a href='#' id='trigger3'><article>
            <img src="img/box.png">
                <span>
                акции на товары недели
                </span>
                <p>скидки до -50%</p>
              </article></a>
        
          <a href='#' id='trigger4'><article>
            <img src="img/cards.png">
                <span>
                акции на товары недели
                </span>
                <p>скидки до -50%</p>
              </article></a>
     
 <div id='box2' style='display: none;'>   
   Кофеман 24 - это крупнейшее в России производство снеков и кондитерских изделий, а также мощное логистическое звено: у холдинга свои склады, распределительные центры и свой автопарк. Именно такой подход к организации бизнес-процессов позволяет KDV держать демократичные цены на свою продукцию. А покупая ее напрямую у производителя – в интернет-магазине KDV, вы приобретаете товар по привлекательным ценам.
     </div> 
             <div id='box3' style='display: none;'>   
     Кофеман 24 - это крупнейшее в России производство снеков и кондитерских изделий, а также мощное логистическое звено: у холдинга свои склады, распределительные центры и свой автопарк. Именно такой подход к организации бизнес-процессов позволяет KDV держать демократичные цены на свою продукцию. А покупая ее напрямую у производителя – в интернет-магазине KDV, вы приобретаете товар по привлекательным ценам.
     </div> 
             <div id='box4' style='display: none;'>   
     Кофеман 24 - это крупнейшее в России производство снеков и кондитерских изделий, а также мощное логистическое звено: у холдинга свои склады, распределительные центры и свой автопарк. Именно такой подход к организации бизнес-процессов позволяет KDV держать демократичные цены на свою продукцию. А покупая ее напрямую у производителя – в интернет-магазине KDV, вы приобретаете товар по привлекательным ценам.
     </div> 

</div>



<script type='text/javascript'> 
    $(document).ready(function() { 
      $("A#trigger2").toggle(function() { 
        // Отображаем скрытый блок 
        $("DIV#box2").fadeIn(); // fadeIn - плавное появление
        return false; // не производить переход по ссылке
      },  
      function() { 
        // Скрываем блок 
        $("DIV#box2").fadeOut(); // fadeOut - плавное исчезновение 
        return false; // не производить переход по ссылке
      }); // end of toggle() 
    }); // end of ready() 
  </script> 
  
    
    
         <script type='text/javascript'> 
    $(document).ready(function() { 
      $("A#trigger3").toggle(function() { 
        // Отображаем скрытый блок 
        $("DIV#box3").fadeIn(); // fadeIn - плавное появление
        return false; // не производить переход по ссылке
      },  
      function() { 
        // Скрываем блок 
        $("DIV#box3").fadeOut(); // fadeOut - плавное исчезновение 
        return false; // не производить переход по ссылке
      }); // end of toggle() 
    }); // end of ready() 
  </script> 

    
    
         <script type='text/javascript'> 
    $(document).ready(function() { 
      $("A#trigger4").toggle(function() { 
        // Отображаем скрытый блок 
        $("DIV#box4").fadeIn(); // fadeIn - плавное появление
        return false; // не производить переход по ссылке
      },  
      function() { 
        // Скрываем блок 
        $("DIV#box4").fadeOut(); // fadeOut - плавное исчезновение 
        return false; // не производить переход по ссылке
      }); // end of toggle() 
    }); // end of ready() 
  </script>
Ответить с цитированием
  #2 (permalink)  
Старый 23.07.2019, 11:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

CORONER,
на форуме есть все варианты открыть по клику, их более 400 ...
https://javascript.ru/forum/css-html...tml#post494297
https://javascript.ru/forum/dom-wind...tml#post494186
искать открывашка
Ответить с цитированием
  #3 (permalink)  
Старый 23.07.2019, 17:03
Новичок на форуме
Отправить личное сообщение для arinades Посмотреть профиль Найти все сообщения от arinades
 
Регистрация: 23.07.2019
Сообщений: 1

Как можно реализовать закрытие дива dropdown при клике вне его области? Пытаюсь обычными средствами это реализовать, но, как показывает практика - все выходит боком.
Пробовал сделать так, но ничего не выходит. И вещал на .wrapper-content, .dropdown - результат нулевый.
$(document).mouseup(function (e) {
    var container = $(".dropdown");
    if (container.has(e.target).length === 0){
        container.hide();
    }
});

Но
<div class="row">        
<div class="col-sm-3 col-md-2">
<div id="dd-make" class="wrapper-dropdown" tabindex="1">
            <span>
     <article> <img src="img/box.png">
                <span>
                бесплатная доставка
                </span>
                <p>от 1500 рублей</p>
              </article>
    </span>
            <ul class="dropdown">
            1
            </ul>
        </div>
  </div>
<div class="col-sm-3 col-md-2">
        <div id="dd-model" class="wrapper-dropdown " tabindex="1">
            <span>
            <article> <img src="img/discount.png">
                <span>
                акции на товары недели
                </span>
                <p>скидки до -50%</p>
              </article>
            </span>
            <ul class="dropdown">
             2
            </ul>
        </div>
  </div>
  <div class="col-sm-3 col-md-2">
        <div id="dd-year" style="margin-left:1%;" class="wrapper-dropdown " tabindex="1">
            <span>

            <article>
            <img src="img/cards.png">
                <span>
                условия оплаты
                </span>
                <p>способы оплаты</p>
              </article>
            </span>
            <ul class="dropdown">
             3
            </ul>
        </div>
  </div>


function DropDown(el) {
  this.dd = el;
  this.placeholder = this.dd.children('span');
  this.opts = this.dd.find('ul.dropdown > li');
  this.val = '';
  this.index = -1;
  this.initEvents();
}

DropDown.prototype = {
  initEvents : function() {
      var obj = this;
        obj.dd.on('click', function(event){
      $('.wrapper-dropdown').not(this).removeClass('active');
        $(this).toggleClass('active');
            return false;
        });
        obj.opts.on('click',function(){
            var opt = $(this);
            obj.val = opt.text();
            obj.index = opt.index();
            obj.placeholder.text(obj.val);
        });
    },
    getValue : function() {
        return this.val;
    },
    getIndex : function() {
        return this.index;
    }
}

$(function() {
  var ddMake = new DropDown( $('#dd-make') );
  var ddModel = new DropDown( $('#dd-model'));
  var ddYear = new DropDown( $('#dd-year') );
  var ddSeries = new DropDown( $('#dd-series'));
  var ddEngine = new DropDown( $('#dd-engine') );
  var ddVariant = new DropDown( $('#dd-variant'));

});
Ответить с цитированием
  #4 (permalink)  
Старый 23.07.2019, 17:13
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

пример
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Три состояния одного блока при клике yaparoff Общие вопросы Javascript 6 12.11.2018 16:18
Закрытие div блока по другой кнопке Виктор3177 Общие вопросы Javascript 4 14.02.2017 13:04
При клике появлялся новый элемент (бесконечно) Eadweard Элементы интерфейса 3 16.02.2016 08:13
скрыть открыть тот или иной блок при клике на ссылке ufaclub jQuery 9 26.08.2014 00:14
Закрытие окошка при клике Phonixe Элементы интерфейса 8 08.04.2014 16:21