2011-09-28 97 views
0

我试图向下滑动一个元素,当另一个点击时,如果再次单击该链接,将元素滑回备份,是否有比这更干净的方式?jquery在点击上下滑动元素

$("#dropdown, #dropdown span, #dropdown dt a").click(function(event) { 
      $("#dropdown dd").slideDown(defaults.speed); 
      $("#dropdown").addClass('drop_down_open'); 
      event.preventDefault(); 
     }); 

     $(".drop_down_open, .drop_down_open span, .drop_down_open dt a").click(function(event) { 
      console.log("hello"); 
      $("#dropdown dd").slideUp(defaults.speed); 
      event.preventDefault(); 
     }); 

回答

0
$("#anElement").click(function(e) { 
    var theItem = $("#dropdown dd"); 
    if (theItem.css("display") == none) { 
     theItem.slideDown(defaults.speed); 
    } 
    else { 
     theItem.slideUp(defaults.speed); 
    } 
    e.preventDefault(); 
}); 

请根据您的具体需求。

+0

非常感谢,但是这个代码,在点击时打开元素,但随即立即关闭它,因为显示不再是=无。 – Udders

+0

这不应该发生 - 这是一个if-else语句,所以如果每次点击只运行一次,它应该正常工作。你是否添加了这么多的选择器,它每次点击多次运行?在那里放一个警报(“你好”)并检查。 –