点击按钮,我的.Post()中有以下代码:
if (Comment != null && Grade > 0) {
$("navigation").attr('a[data-id="' + QuestionID + '"]')
.css({ "background-color": "green" });
} else if (Comment == null && Grade == null) {
$('a[data-id="' + QuestionID + '"]').css({ "background-color": "#D8D8D8" });
如果我关闭我的网络应用程序或只是刷新它,颜色就会消失。即使我关闭或刷新,我怎样才能使颜色永远保持不变我是否需要添加类或其他东西?
答案 0 :(得分:2)
好的,如此简短的回答:你不能。
答案很长:CSS文件存储在远程服务器上,并按照要求提供(通过HTML文档头部的<link />
标记)。 JavaScript在您的本地计算机上,在浏览器中执行(除非您运行node.js,我想)。因此,只有在运行特定脚本实例/页面视图时,您的更改才会存在。重新加载页面重新请求(取决于缓存设置)CSS文件并重新加载它。
因此,除非您希望用户能够自由修改您的服务器文件(这是一个非常糟糕的想法),否则您实际上无法做到您想要的......
HTH。
答案 1 :(得分:1)
将此代码移动到javascript函数,例如,函数colorChange()并调用此函数onLoad()和onClick()(按下按钮时)。
答案 2 :(得分:1)
我认为你必须找到一种方法来永久地标记它,比如添加一个类,因为那样你就可以编辑你的CSS并且它已经解决了。
我想你想发表评论?在服务器端代码中添加该类或其他内容。
答案 3 :(得分:1)
您需要在浏览器cookie中保存您的颜色状态,否则您无法处理页面刷新。 保存cookie中的颜色更改,并添加onLoad处理程序,该处理程序应检查cookie是否存在并相应地标记更改
我假设您正在使用jQuery,因此您可以尝试
$.cookie("colorSet", "true", { expires: 7 });
您可以再次检查页面的和onLoad方法
$.cookie("colorSet") == "true"
再次进行更改。
答案 4 :(得分:-1)
在jquery中,您可以在完成单击功能时添加一个类:
$(".navigation").onclick{function(){
$(".class_name").addClass();
}
)};