Javascript动画打开/关闭菜单
我正在为我正在构建的网页制作一个简单的打开/关闭动画DIV。这应该很简单,但有些事情让我感到困惑。这是我的JS代码:Javascript动画打开/关闭菜单,javascript,jquery,html,css,animation,Javascript,Jquery,Html,Css,Animation,我正在为我正在构建的网页制作一个简单的打开/关闭动画DIV。这应该很简单,但有些事情让我感到困惑。这是我的JS代码: <script> slideOpen = 1; alert(slideOpen); function openClose(){ if (slideOpen = 1){ closeTab(); slideOpen = 0; }; if (slideOpen = 0){ openTab(); slideOpen = 1; }; func
<script>
slideOpen = 1;
alert(slideOpen);
function openClose(){
if (slideOpen = 1){
closeTab();
slideOpen = 0;
};
if (slideOpen = 0){
openTab();
slideOpen = 1;
};
function closeTab(){
$("#upcomingEvents").animate({top:"-910px"});
}
function openTab(){
$("#upcomingEvents").animate({top:"-300px"});
}
alert(slideOpen);
}
</script>
下面是运行该函数的HTML:
<a href="javascript:openClose();" style="position: absolute; bottom: 32px; right: 32px;" >Open/Close Tab</a>
因此,这背后的想法是,每当用户单击锚定时,它都会运行openClose函数。在初始页面加载时,slideOpen=1,如果用户单击锚定,如果slideOpen=1,则运行closeTab动画功能,然后将slideOpen=0。如果slideOpen=0,则应运行openTab动画功能并将slideOpen=1
基本上:
如果选项卡处于打开状态,则slideOpen=1;
如果选项卡已关闭,则slideOpen=0
但是,我在这个函数中还设置了两个警报;初始页面加载,每次调用openClose函数时运行
在初始页面加载时,slideOpen警报显示:1。单击锚定以关闭选项卡后,openClose函数中的slideOpen警报显示为0,选项卡将成功关闭。再次单击锚定,警报显示再次为0,选项卡不会重新打开。它应该显示slideOpen=1,但由于某些原因,它不是。这就是我的问题所在
提前谢谢
if (slideOpen = 1){
在这里,您将为变量slideOpen指定1,因此条件的计算结果将始终为true
对这两种情况都使用==而不是=
像
嘿-你试过了吗?它会自动跟踪你的可见状态,所以你不必这样做。我可能会在以后添加,谢谢你给我看。但是,问题是,即使是我自己的开关也不起作用。谢谢,这是正确的,但这只解决了我的问题的一半。现在,当您单击锚定时,选项卡将设置关闭动画,然后立即重新打开。除了=到==,我没有做任何更改。@user2217822它似乎工作得很好@user2217822是否对slideOpen==0执行了相同的操作?@easwee我在ans中提到过这两种情况:@TilwinJoy是的-但只是检查一下他是否错过了:
if (slideOpen == 1){