繁体   English   中英

Javascript Animate打开/关闭菜单

[英]Javascript Animate Open/Close Menu

我正在为正在构建的网页开发一个简单的“打开/关闭动画DIV”。 它应该很简单,但是却给我带来了麻烦。 这是我的JS代码:

<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){

在这里,您将1分配给变量slideOpen ,因此条件将始终为true。

两种情况都使用==代替=

喜欢

if (slideOpen == 1){

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM