$(document).ready(function(){
$('#AddCity').hide();
$('#AddCityA').click(function(){
if ( AddCityVar==1 ){
$('#AddCity').hide();
var AddCityVar=0;
}else{
$('#AddCity').slideDown("slow");
var AddCityVar=1;
}
});
我想不通,为什么 ID 为 #AddCity 的 div 在第一次点击 #AddCityA 链接时打开,但在第二次点击时永远不会隐藏? $('#AddCityA').click(function() 是否只工作一次?
<a href="#" id="AddCityA">Add City</a>
<div id="AddCity">
here some code
</div>
谢谢你的帮助
最佳答案
每次为 AddCityVar
分配一些值时,您似乎都在重新初始化它。您需要将其置于 click 函数的范围之外:
$(document).ready(function(){
$('#AddCity').hide();
var AddCityVar= 0;
$('#AddCityA').click(function(){
if ( AddCityVar==1 ) {
$('#AddCity').hide();
AddCityVar=0;
}
else {
$('#AddCity').slideDown("slow");
AddCityVar=1;
}
});
});
但是,正如烤的提到的,它不需要有一个变量来做到这一点。你可以只使用
slideToggle
:$('#AddCityA').click(function () {
$('#AddCity').slideToggle("slow");
});
演示:http://jsfiddle.net/hungerpain/9cdKL/
关于jquery hide() 和 slideDown(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17260654/