-3

这个问题可能比我意识到的更复杂。

当页面加载时,它会检查 cookie (usercookie)。如果存在,它会调用外部 .js 文件中的函数。这个函数位于一个 jquery 文件中,做三件事。它隐藏来的东西,将变量(userloggedin)设置为true,并向用户显示欢迎消息。但是,它的行为很奇怪。为了使该功能起作用,我必须在它像一个对象之前用“新”定义它。如果我不这样做,它就根本行不通。但如果我使用它,它拒绝接受任何参数。看一看。

请记住,它位于 $(document).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,表单条目)?

4

2 回答 2

3

您必须在声明部分声明一个参数,例如 function functionname(parameter)

于 2013-07-18T14:56:53.757 回答
1

您需要更改方法签名以接受参数

userlogged = new function($name)
 {
    userloggedin = true;
    $('.socialicons').hide();
    $('#signup').hide();
    $('#login').hide();
     document.getElementById('cookieelement').innerHTML = "Welcome back, " + $name + "!";
}
于 2013-07-18T14:56:46.627 回答