当用户点击按钮时,系统设置为交换样式表。 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;
});
});
});
否则,如果用户未在样式表之间设置首选项,则随机选择一个并仅设置会话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视频播放器设置颜色。 (updateColor函数)。如果用户单击链接以选择颜色,但仅通过读取cookie就无法正常工作。
我们认为问题是它在DOM准备好之前就已经开始了。
我们要做的是确保在准备好的功能点击后调用调整颜色。这很可能很容易,我们只是没有看到它。
答案 0 :(得分:0)
你有:
$(function() { });
嵌套在里面:
jQuery(document).ready(function() { });
这些意味着同样的事情,前者是后者的简称。我敢打赌,这是因为你将一个匿名函数绑定到document.ready上的document.ready而导致你的问题。因此,Document.ready已经发生,并且不会调用该函数。
编辑:我想的更多,似乎我可能是错的......从来没有做过(没有理由),但这确实有用,因此不是你的问题。我会留下这里的帖子,以便你可以纠正它。 :)