这个问题可能比我意识到的要复杂得多。
当页面加载时,它会检查cookie(usercookie)。如果存在,则调用外部.js文件中的函数。此函数位于jquery文件中并执行三项操作。它隐藏了东西,将变量(userloggedin)设置为true,并向用户显示欢迎消息。但是,它的表现很奇怪。为了使函数起作用,我必须先用“new”来定义它,然后再像它的对象一样。如果我不这样做,它根本不起作用。但如果我使用它,它拒绝接受任何争论。看一看。
请记住,它位于$(文档).ready(function(){}
中userlogged = new function($name)
{
userloggedin = true;
$('.socialicons').hide();
$('#signup').hide();
$('#login').hide();
document.getElementById('cookieelement').innerHTML = "Welcome back, " + $name + "!";
}
以下是我如何从主文档调用该函数。
<script type="text/javascript" id="cookiescript">
//checks for the usercookie and gets the value as well
var query = true;
if (query === true)
{
cookievalue =
"Seth";
userlogged(cookievalue);
}
</script>
这些代码中的一些是从php查询返回到mysql,但我知道代码工作正常。
所以我的问题是,如何在js文件中创建这个通用函数,我可以在用户以某种方式登录时调用它(例如,检测到cookie,表单条目)?
答案 0 :(得分:3)
你必须在声明部分声明一个参数
function functionname(parameter)
答案 1 :(得分:1)
您需要更改方法签名以接受参数
userlogged = new function($name)
{
userloggedin = true;
$('.socialicons').hide();
$('#signup').hide();
$('#login').hide();
document.getElementById('cookieelement').innerHTML = "Welcome back, " + $name + "!";
}