2011-09-28 86 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語句,所以如果每次點擊只運行一次,它應該正常工作。你是否添加了這麼多的選擇器,它每次點擊多次運行?在那裏放一個警報(「你好」)並檢查。 –