Javascript 切换菜单不工作JQuery
我的网站有登录系统。单击Javascript 切换菜单不工作JQuery,javascript,php,jquery,drop-down-menu,toggle,Javascript,Php,Jquery,Drop Down Menu,Toggle,我的网站有登录系统。单击菜单且用户未登录时,将调用showpopup()函数并显示注册表单 单击菜单且用户已登录时,将显示下拉列表,并调用afterlogin() 问题是,我想在单击菜单时切换下拉列表。但是一旦下拉列表打开,只有在下拉列表或下拉列表之外单击时,我才能关闭下拉列表 如何通过单击菜单切换/关闭下拉列表 index.php <div id="menu">Menu</div> <div id="dropdown"> //this drop down
菜单
且用户未登录时,将调用showpopup()
函数并显示注册表单
单击菜单
且用户已登录时,将显示下拉列表
,并调用afterlogin()
问题是,我想在单击菜单
时切换下拉列表
。但是一旦下拉列表
打开,只有在下拉列表
或下拉列表
之外单击时,我才能关闭下拉列表
如何通过单击菜单切换/关闭下拉列表
index.php
<div id="menu">Menu</div>
<div id="dropdown"> //this drop down is hidden
<a href="#" id="a">A</a>
</div>
<div id="dropdownA"> //this drop down is also hidden
<p>Hello</p>
</div>
<?php
ob_start();
session_start();
include_once('database.php');
if(isset($_SESSION['username'])){
echo '1';
return false;
}
if (!(isset($_SESSION['username']))){
echo '0';
return false;
}
ob_end_flush();
?>
像这样尝试。调用函数表单$.post()
done方法
$.post("login.php", function(data) {
}).done(function(data){
if(data === true){
afterLogin();
} else if(data === false){
showpopup();
}
});
在php中,只需返回true
或false
<?php
ob_start();
session_start();
include_once('database.php');
if(isset($_SESSION['username'])){
echo true;
}
if (!(isset($_SESSION['username']))){
echo false;
}
ob_end_flush();
?>
有关更多信息,请参见文档尝试这样做。调用函数表单$.post()
done方法
$.post("login.php", function(data) {
}).done(function(data){
if(data === true){
afterLogin();
} else if(data === false){
showpopup();
}
});
在php中,只需返回true
或false
<?php
ob_start();
session_start();
include_once('database.php');
if(isset($_SESSION['username'])){
echo true;
}
if (!(isset($_SESSION['username']))){
echo false;
}
ob_end_flush();
?>
有关更多信息,请参见文档是函数(数据){}。完成(函数(数据){
此格式是正确的格式?我根据您的更改了我的代码,现在它没有显示下拉菜单
菜单。它只是刷新页面。我刚刚做了,现在我明白了。完成()是为了成功。但是每当我点击菜单时,它仍然会刷新页面。它不会调用showpopup()
或afterlogin()
。因此,如果我使用.done()
,它会刷新页面,并且不会执行任何操作函数(数据){}.done(函数(数据){
这种格式是正确的格式吗?我根据您的更改了我的代码,现在它没有显示下拉菜单
菜单。它只是刷新页面。我刚刚这么做了,我现在明白了。done()是成功的。但每当我单击菜单
,它仍然刷新页面。它不会调用showpopup()
或afterlogin()
。因此,如果我使用.done()
,它将刷新页面,并且不会执行任何操作