我正在创建一个网站,允许用户更改配色方案和文字大小。我正在使用cookies,因此当他们更改页面时,它会记住他们选择的颜色方案/文本大小。
问题是网站没有同时正确“记住”配色方案和字体。
当只使用一个或另一个时,它工作正常,例如选择配色方案时,它会记住每个页面上选定的配色方案。
然而,当我更改配色方案并尝试更改字体大小时,网站会停止记住所选择的配色方案并返回默认配色方案(但会记住文字大小)。
我猜这是因为我设置了两个cookie而不是一个但是在设置一个时我无法使代码工作。
<link class="changeme" rel="stylesheet" type="text/css" href="default.css" title="Standard" />
<link rel="stylesheet" type="text/css" href="twitter/jquery.jtweetsanywhere-1.3.1.css" />
<!-- Loading Javascript -->
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" language="javascript" src="jquery.cookie.js"></script>
<script type="text/javascript" src="twitter/jquery.jtweetsanywhere-1.3.1.js"></script>
<script> if($.cookie("css")) {
$("link.changeme").attr("href",$.cookie("css"));
}
$(document).ready(function() {
$("#nav li a").click(function() {
$("link.changeme").attr("href",$(this).attr('rel'));
$.cookie("css",$(this).attr('rel'), {expires: 365, path: '/'});
return false;
});
});
</script>
<script>
if($.cookie("css2")) {
$("link.changeme").attr("href",$.cookie("css2"));
}
$(document).ready(function() {
$("#resize li a").click(function() {
$("link.changeme").attr("href",$(this).attr('rel'));
$.cookie("css2",$(this).attr('rel'), {expires: 365, path: '/'});
return false;
});
});
</script>
更改样式表
<div id="colourscheme">
<ul id="nav">
<li><a class="colourtext">Colour Scheme: </a></li>
<li><a class="default" href="#" rel="default.css">Default</a></li>
<li><a class="wandb" href="#" rel="alternative.css">White and Black</a></li>
</ul>
<!-- Adjust font size -->
<div id="textadjustment">
<ul id="resize">
<li><a class="textsize">Resize Text: </a></li>
<li><a class="small" href="#" rel="default.css">A</a></li>
<li><a class="medium" href="#" rel="large.css">A</a></li>
<li><a class="large" href="#" rel="largest.css">A</a></li>
</ul>
</div>
如果回答简单,我仍在学习这个道歉!
答案 0 :(得分:1)
使用两个样式表引用。
HTML文档
<!doctype html>
<html>
<head>
<link class="colorCss" rel="stylesheet" type="text/css" href="defaultColor.css" />
<link class="fontCss" rel="stylesheet" type="text/css" href="defaultFont.css" />
<link rel="stylesheet" type="text/css"
href="twitter/jquery.jtweetsanywhere-1.3.1.css" />
<!-- Loading Javascript -->
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" language="javascript" src="jquery.cookie.js"></script>
<script type="text/javascript" src="twitter/jquery.jtweetsanywhere-1.3.1.js"></script>
<script type="text/javascript">
if($.cookie("css")) {
$("link.colorCss").attr("href",$.cookie("css"));
}
if($.cookie("css2")) {
$("link.fontCss").attr("href",$.cookie("css2"));
}
$(document).ready(function() {
$("#nav li a").click(function() {
$("link.colorCss").attr("href",$(this).attr('rel'));
$.cookie("css",$(this).attr('rel'), {expires: 365, path: '/'});
return false;
});
$("#resize li a").click(function() {
$("link.fontCss").attr("href",$(this).attr('rel'));
$.cookie("css2",$(this).attr('rel'), {expires: 365, path: '/'});
return false;
});
});
</script>
</head>
<body>
<div id="colourscheme">
<ul id="nav">
<li><span class="colourtext">Colour Scheme: </span></li>
<li><a class="default" href="#" rel="defaultColor.css">Default</a></li>
<li><a class="wandb" href="#" rel="alternative.css">White and Black</a></li>
</ul>
</div>
<div id="textadjustment">
<ul id="resize">
<li><span class="textsize">Resize Text: </span></li>
<li><a class="small" href="#" rel="defaultFont.css">Default</a></li>
<li><a class="medium" href="#" rel="large.css">Large</a></li>
<li><a class="large" href="#" rel="largest.css">Largest</a></li>
</ul>
</div>
</body>
</html>
defaultColor.css
body {
background-color: #aa0000;
color: #0000aa;
}
defaultFont.css
body {
font-size: 12px;
}
alternative.css
body {
background-color: #000;
color: #aaa;
}
large.css
body {
font-size: 14px;
}
largest.css
body {
font-size: 18px;
}