Javascript 通过快速单击重新定义变量?
我的代码遇到了问题。如果用户非常快地单击,就有可能重新定义原始高度值,而我正努力将其包围。有人能给我指出正确的方向,让我明白为什么这是可能的吗 HTML: JS: 功能释放元件{ 如果原始高度的类型===“未定义”| |标志!==打开{ 原始高度=$'element'。高度; 标志=关闭; } 如果标志===关闭{ flag=打开; 变量高度=$window.height-60; $'element'.stop.animate{height:height}; $'anotherelement'.stop.animate{marginTop:-205px}; 回来 } 如果标志===打开{ $'element'.stop.animate{height:originalHeight}; $'anotherelement'.stop.animate{marginTop:-105px}; 标志=关闭; 回来 } }Javascript 通过快速单击重新定义变量?,javascript,jquery,html,javascript-events,Javascript,Jquery,Html,Javascript Events,我的代码遇到了问题。如果用户非常快地单击,就有可能重新定义原始高度值,而我正努力将其包围。有人能给我指出正确的方向,让我明白为什么这是可能的吗 HTML: JS: 功能释放元件{ 如果原始高度的类型===“未定义”| |标志!==打开{ 原始高度=$'element'。高度; 标志=关闭; } 如果标志===关闭{ flag=打开; 变量高度=$window.height-60; $'element'.stop.animate{height:height}; $'anotherelement'.
我不是很确定,但请检查您的代码是否需要以下方式的其他
if (flag === "closed") {
flag = "open";
var height = ($(window).height() - 60);
$('#element').stop().animate({height: height});
$('#anotherelement').stop().animate({marginTop: "-205px"});
return;
}
else
if (flag === "open") {
$('#element').stop().animate({height: originalHeight});
$('#anotherelement').stop().animate({marginTop: "-105px"});
flag = "closed";
return;
}
因为如果你的旗帜一开始就关闭了,多次单击它将调用ifflag===关闭,然后一直调用ifflag===打开。是否存在单击事件?请创建一个代码段来重现特定问题。我的问题是,如果用户在定义if语句完成之前快速单击元素,则可以重新定义原始高度。
if (flag === "closed") {
flag = "open";
var height = ($(window).height() - 60);
$('#element').stop().animate({height: height});
$('#anotherelement').stop().animate({marginTop: "-205px"});
return;
}
else
if (flag === "open") {
$('#element').stop().animate({height: originalHeight});
$('#anotherelement').stop().animate({marginTop: "-105px"});
flag = "closed";
return;
}