我正在为我正在构建的网页开发一个简单的打开/关闭动画DIV。它应该是简单的,但有些东西给我一个挂断。我的继承人JS代码:Javascript动画打开/关闭菜单
<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。
基本上: 如果tab打开slideOpen = 1;如果选项卡关闭,则为 slideOpen = 0;
但是,我也在这个函数中设置了两个警报;一个是页面加载时的初始值,另一个是每次调用openClose()函数时都会运行的值。
在初始页面加载时,slideOpen警报显示为“1”。单击锚点关闭选项卡后,openClose()函数中的slideOpen警报显示“0”,并且选项卡成功关闭。再次单击锚点时,警报再次显示“0”,并且该选项卡不会重新打开。它应该显示slideOpen =“1”,但由于某种原因,它不是。这就是我的问题。
在此先感谢。
喂 - 你试过https://api.jquery.com/slideToggle/?它会自动跟踪你的可见状态,所以你不必这样做。 –
我可以稍后补充说明,谢谢你给我看。但是,这个问题总的来说就是我自己的切换不起作用。 – wUmpage