Показать сообщение отдельно
  #7 (permalink)  
Старый 11.11.2014, 18:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

дубль 3 добавлена защита от повторного добавления элемента в список слежения
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
    .orange {
    background: #FFCC00;
  }
  .orange + div{
    display: block;
  }
  span {
     cursor: pointer;
  }

  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
     jQuery.fn.hide_by_click = (function() {
         var listSelector = $(),
         tracking = function(event) {
             listSelector.each(function(i,el) {
                 if (event.target != el && !$(el).has(event.target).length) $(el).fadeOut()
             })
         }
         return function(add) {
            $(document).off({'click' : tracking });
             this.each(function(indx, el) {
                listSelector = listSelector[add ? 'add' : 'not'](el);
             });
            listSelector.length && $(document).on({'click' : tracking });
            return this
         }
     }())

     $(function() {
         $(".block_info_main span").hide_by_click(true); //добавить все span для контроля
         $(".orange").hide_by_click(false); // убрать оранжевый из списка слежения
     });
  </script>
</head>

<body>
<div class='block_info_main' id='test'>1111


<div class='first'>
<span class='info orange'>Информация</span>
<div class='main'>
<span class='info_show show '>текст1</span>
</div>
</div>
<div class='first'>
<span class='info'>Информация2</span>
<div class='main'>
<span class='info_show '><b style="color: rgb(51, 51, 255)">текст2</b></span>
</div>
</div>
<div class='first'>
<span class='info'>Информация3</span>
<div class='main'>
<span class='info_show '>текст3</span>
</div>
</div>

</div>


</body>

</html>
Ответить с цитированием