Скрыть все остальные братья и сестры по клику - PullRequest
1 голос
/ 23 ноября 2011

На моей странице есть списки, подобные приведенным ниже.

<li class="select">
  <div class="type"><span class="icon_word_small bgpos"></span></div>
  <div class="docu"> <span class="fade"><a href="">Study on Clinical Research Market in AMEA</a> / 24 July 2011</span></div>
  <div class="colu"> <span class="fade"><a href="">Fairleign</a>, <a href="">Felder</a> & 2 more</span></div>
  <div class="status"><span class="fade"><span class="dark">Public</span> [2 Views 1 Downloads]</span></div>
  <div class="data_options"><a href="#" class="itemDelete">DELETE</a> </div> <!-- row hover options here-->
      <!-- popup starts here-->
    <div class="data_popup data_delete"><span class="tip"></span>Are you sure want to delete this file?
    <div class="cfix"></div>
  <ul>
    <li><a href="#" class="deletebutton"></a></li>
    <li><a href="">No,Keep this file</a></li>
  </ul>
  </div>
        <!-- popup ends here--> 
  <div class="cfix"></div>
</li>

<li>
  <div class="type"><span class="icon_word_small bgpos"></span></div>
  <div class="docu"> <span class="fade"><a href="">Study on Clinical Research Market in AMEA</a> / 24 July 2011</span></div>
  <div class="colu"> <span class="fade"><a href="">Fairleign</a>, <a href="">Felder</a> & 2 more</span></div>
  <div class="status"><span class="fade"><span class="dark">Public</span> [2 Views 1 Downloads]</span></div>

  <div class="data_options"><a href="#" class="itemShare">SHARE</a></div>  <!-- row hover options here-->
    <!-- popup starts here-->
   <div class="data_popup data_share"><span class="tip"></span><h3>Share</h3>
   <br>
  <p> <input type="checkbox" /> All in our Company</p>
     <p> <input type="checkbox" /> All in Department</p>
           <p> <input type="checkbox" id="sharetick"/> Shared with Specific People</p>
           <div id="textareamsg1"><p><textarea class="resizable" id=""></textarea></p> </div>
           <p> <input type="checkbox" id="nonsharetick"/> Do not share with specific people</p>
             <div id="textareamsg2"><p><textarea class="resizable dark" name="textarea" id="" placeholder="Type names to share document, to share with 
many seperate names with commas"></textarea></p></div>

    <div class="cfix"></div>

  <ul>
    <li><a href="#" class="okbutton"></a></li>
    <li><a href="">Cancel</a></li>
  </ul>
  </div>
      <!-- popup ends here-->
  <div class="cfix"></div>
</li>

Я использую это, чтобы показать / скрыть div.dataDelete, itemShare

$('.itemDelete').live('click', function() {
    $(this).closest("li").find('.data_delete').slideToggle('medium');
});

$('.itemShare').live('click', function() {
    $(this).closest("li").find('.data_delete').slideToggle('medium');
});

при нажатии на любые другие ссылки, мне нужно скрыть все остальные открытые элементы div (как itemDelete, так иitemShare).Также у меня есть сомнения в приведенном выше коде.Мой клиент говорит, что иногда он переключается дважды .. Я не испытывал этого ни в одном браузере.Есть ли вероятность, что это может произойти с кодом выше, или он запрограммирован неправильно?

Ответы [ 2 ]

0 голосов
/ 23 ноября 2011

пожалуйста, попробуйте это:

var q = 0;
$('.itemDelete, .itemShare').live('click',
function() {
    if (q == 1) {
        q = 0;
        $(this).parent().next('.data_delete, .data_share').slideToggle();
    } else {
        q = 1;
        $('.data_delete, .data_share').not($(this).parent().next('.data_delete, .data_share')).slideToggle();
    }
});
0 голосов
/ 23 ноября 2011

сделать что-то вроде:

$(".data_options a").live("click", function(e){
    e.preventDefault();
    $(".data_popup").slideUp();
    $(this).closest(".select").find(".data_popup").stop(true, false).slideDown();
});

Ссылка, по которой вы щелкаете, находится внутри: .data_options. Таким образом, мы можем использовать это как ссылку, но мы не найдем все .data_popup, которое содержит все DIV, которые вы хотите slideUp, за исключением текущего, вы не захотите сдвинуть его вниз.

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

...