jquery - 通过参数更改jquery对象

时间:2014-01-27 20:50:53

标签: jquery jquery-cookie

抱歉糟糕的头衔。对于我的生活,我无法找到一个很好的方法来做到这一点。我有一个 用于设置cookie的jquery对象。在我的代码中,我使用该cookie 从用户收集信息以及执行各种其他功能。问题是 在某些情况下,我不希望Cookie名称'用户个人资料'我希望它是'admin-profile'。 当我调用 userProfile()并更改cookie名称时,有没有办法以某种方式传递选项?我想要 'admin-profile' Cookie基本上可以执行'用户个人资料' Cookie所做的一切。我有点新手 所以代码示例最适合我。

;(function($){
    $.fn.userProfile = function(opts) {

        var userProfileCookie = {
            name: 'user-profile',
            options: {
                path: '/',
                expires: 365
            }
        };

        function userHeightCookie() {
            var userData = $.parseJSON($.cookie(userProfileCookie.name));
            return(userData);
        };

        function readHeightCookie(userInfo) {
            $.cookie(userProfileCookie.name, JSON.stringify(userInfo), userProfileCookie.options);
        };

        function removeProfileCookie() { $.cookie(userProfileCookie.name, null, userProfileCookie.options); }

        if($(".slider").length > 0){
            $.cookie(userProfileCookie.name);
        }
    }})(jQuery);

$(document).ready(function () { $('#mastHead').userProfile(); });

1 个答案:

答案 0 :(得分:1)

使用opts参数:

;(function($){
    $.fn.userProfile = function(opts) {

        var name = (opts.name || 'user') + '-profile';
        var userProfileCookie = {
            name: name,
            options: {
                path: '/',
                expires: 365
            }
        };

        function userHeightCookie() {
            var userData = $.parseJSON($.cookie(userProfileCookie.name));
            return(userData);
        };

        function readHeightCookie(userInfo) {
            $.cookie(userProfileCookie.name, JSON.stringify(userInfo), userProfileCookie.options);
        };

        function removeProfileCookie() { $.cookie(userProfileCookie.name, null, userProfileCookie.options); }

        if($(".slider").length > 0){
            $.cookie(userProfileCookie.name);
        }
    }})(jQuery);

$(document).ready(function () { $('#mastHead').userProfile({ name: 'admin' }); });