2009-09-28 3 views
0

у меня есть следующий (что, очевидно, я не могу сделать!)открыт один ящик, закройте все, что открыты

function dropBox() { 
    $("#reportWrapper a").bind("click", function(){ 
     $("#reportWrapper a").each(function(i){ 
      $(this).animate({ 
         height: '20px' 
      }, 1000);        
     }); 
     $(this).parents("div:eq(0)").animate({ 
      height: '100px' 
     }, 1000); 
    }); 
} 

Что я хочу, чтобы открыть один, который щелкнул и закройте все те, которые открыты. Ящик открывается, остальные не закрываются. Любая помощь очень ценится. Привет

+0

Можете ли вы поместить часть HTML-кода, чтобы помочь вам? –

ответ

0

Если закрыть их в пути, который изменяет display свойство none, то вы можете использовать селектор JQuery :visible, чтобы выбрать все другие, которые являются открытыми.

+0

Мне жаль, что я новый для jQuery (PHP man), вы могли бы еще кое-что сделать? –

+0

Может ли yoiu выбрать элемент по свойству css? т. е. element.css.height.200px? –

0

Может ли enyone понять, почему эта не работает?

function dropBox() { 
    $("#reportWrapper a").bind("click", function(){ 
     var clicked = $(this); 
     $("#reportWrapper a").each(function(){ 
      if(clicked.attr("name") != $(this).attr("name")) 
      { 
       $(this).animate({ 
        height: '20px' 
       }, 1000); 
      } 
      else 
      { 
       clicked.parents("div:eq(0)").animate({ 
        height: '100px' 
       }, 1000); 
      } 
     }); 
    }); 
} 

Еще раз, коробка щелкнул открывает, но тот, который открыт не закрывается

function dropBox() { 
    $("#reportWrapper a").bind("click", function(){ 
     var clicked = $(this); 
     $("#reportWrapper a").each(function(){ 
      if(clicked.attr("name") !== $(this).attr("name")) 
      { 
       alert("this: " + $(this).attr("name") + "clicked: " + clicked.attr("name")); 
       $(this).animate({ 
        height: '20px' 
       }, 1000); 
      } 
      else 
      { 
       clicked.parents("div:eq(0)").animate({ 
        height: '100px' 
       }, 1000); 
      } 
     }); 
    }); 
} 

выше, предупреждает всех, кроме одного Thats щелкнул так им озадачен

проклятую ... просто разузнали его

0
function dropBox() { 
    $("#reportWrapper a").bind("click", function(){ 
      var clicked = $(this); 
      $("#reportWrapper a").each(function(){ 
        if(clicked.attr("name") !== $(this).attr("name")) 
        { 
          $(this).parents("div:eq(0)").animate({ 
            height: '20px' 
          }, 1000); 
        } 
        else 
        { 
          clicked.parents("div:eq(0)").animate({ 
            height: '100px' 
          }, 1000); 
        } 
      }); 
    }); 

}

РАБОТЫ!

Смежные вопросы