2016-07-22 110 views
0
 $(function() { 
  $('.dropTitle').click(function() { 
    $('.columnCenter ul ul').css('display', 'block'); 
  }); 
                               
}); 

我在这里有一个点击功能。当我点击.dropTitle时,.columnCenter显示'block'。我怎样才能让它再次点击.dropTitle,它会切换到display:none;?Div出现onclick,消失onclick

我希望能够在显示:块之间来回切换显示:点击.dropTitle时无显示。

所有帮助将不胜感激,谢谢!

回答

5

只需使用toggle

$(function() { 
    $('.dropTitle').click(function() { 
     $('.columnCenter ul ul').toggle(); 
    });       
}); 

Working example.

+0

我有使用javascript 0经验,你能不能给我的完整代码,包括显示:无,显示:块结果? – miksham

+0

这是完整的代码! :) 尝试一下! @miksham – eisbehr

+0

我试过了。当再次单击.dropTitle时,columnCenter ul ul不会消失,但它确实出现 – miksham

0

它可能会更容易在这里使用一个实用工具类,例如:

.is--hidden { 
    display: none; 
}   

然后切换该点击课程:

$('.dropTitle').click(function() { 
    $(this).toggleClass('is--hidden') 
} 
-1

我不会只用.toggle(),但我会用.on(),以及...

$(function() { 
    $(document).on('click', '.droptitle', function() { 
     $('.columnCenter ul ul').toggle(); 
    });       
}); 
+0

为什么要在整个文档上注册监听者?这是开销...你的'display'变量来自哪里?! – eisbehr

+0

我离开了'显示'作为一个错误的一部分 - 我已经删除它..至于制作文档监听器.. JS已经在听,你只是指示它,你想它反应到它..我'很高兴看到你的基准证明否则.. – Zak