javascript - DOM Ready后设置Cookie影响样式/调用函数

标签 javascript jquery css

获得一个系统设置,可以在用户单击按钮时交换样式表。 Cookie 已设置。

jQuery(document).ready(function() {    

$(function() { 
            $("#designSwap li a").click(function() { 
                $("link").attr("href",$(this).attr('rel'));            
                $.cookie("cssSessionColor",$(this).attr('class'), {expires:null, path: '/'});
                $.cookie("css",$(this).attr('rel'), {expires: 365, path: '/'});
                updateColor($(this).attr('class'));
                return false;
            });
        });
});

否则,如果用户没有在样式表之间设置首选项,则随机选择一个并只设置一个 session cookie:

if($.cookie("css")) {       
    $("link").attr("href",$.cookie("css"));

}else if($.cookie("cssSession")) {
    $("link").attr("href",$.cookie("cssSession"));

}else{

    var rand = Math.floor(Math.random()*2)

    if (rand > 0) {

       $("link").attr("href","/lib/css/common-dark.css");
       $.cookie("cssSessionColor","dark", {expires:null, path: '/'});
       $.cookie("cssSession","/lib/css/common-dark.css", {expires:null, path: '/'});


    }else{

       $("link").attr("href","/lib/css/common.css");
       $.cookie("cssSessionColor","light", {expires:null, path: '/'});
       $.cookie("cssSession","/lib/css/common.css", {expires:null, path: '/'});

    };
}

一切正常。问题在于为网站上的 Flash 视频播放器设置颜色。 (更新颜色函数)。如果用户单击链接选择颜色,它会起作用,但仅通过读取 cookie 不起作用。

我们认为问题在于它在 DOM 准备就绪之前触发。

我们正在尝试做的是确保一旦就绪函数命中,我们就会调用调整颜色。这很可能是一件容易的事情,只是我们没有看到。

最佳答案

你有:

$(function() { });

嵌套在里面:

jQuery(document).ready(function() { });

这两个意思是一样的,前者是后者的简写。我敢打赌这会导致您的问题,因为您将匿名函数绑定(bind)到 document.ready 上的 document.ready。 Document.ready 因此已经发生,不会调用该函数。

编辑:我考虑得更多,看来我可能是错的......从来没有这样做(没有理由这样做),但这确实有效,因此不是你的问题。我会把帖子留在这里,以便您可以更正它。 :)

http://jsfiddle.net/bcEQZ/

关于javascript - DOM Ready后设置Cookie影响样式/调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5668854/

相关文章:

javascript - 反向ajax和普通ajax的区别

javascript - 使用 JQuery 删除没有 id 或类的父级

html - 背景图像的阴影

html - web2py MENU 在 bootstrap 样式中,我可以在哪里更改菜单项的文本不再是大写?

javascript - Jquery 无法处理外部 JS 文件

javascript - 导航栏移动不关闭

javascript - 正则表达式验证两个范围之间的数字

javascript - 错误的 <li> 标签行为

javascript - 在 dom 准备好之前交换 css 文件,因为我不想让我的页面轻弹?

css - 来自 assets 的图像在 scss 中找不到