如何切换 Rails 中 div 的背景颜色?
How to toggle the background color of a div in Rails?
我正在使用 Rails 4. 如何切换列表项的背景颜色?
到目前为止,这是我的代码。但是,当我刷新页面时,颜色消失了。
application.js:
$(document).ready(function() {
$(".myitem").on("click", function() {
$(this).toggleClass("changecolor");
});
});
index.html.erb
<% @ideas.each do |idea| %>
<li class="myitem"><%= idea.description %></li>
<% end %>
.css 文件:
.changecolor {
background-color: blue;
}
接下来我该做什么?
接下来 - 您应该将颜色 class 保存到数据库,并使用数据库值
将 class 分配给 div
根据一些情况,您应该将其保存在 cookie、会话或数据库中。
Cookie:如果您希望它只影响进行更改的用户的计算机,而不需要其他地方的值。
会话:如果您希望它只影响进行更改的用户的计算机,但您可能希望在代码中除 JS 之外的其他地方使用它。
数据库:如果要给大家存起来!或者只是一个用户,但希望确保它保存更长时间并且即使用户在不同的计算机上也是相同的。
所有这些选项都有一些重叠,但这基本上是要点。 session 和 cookie 不需要太多代码,但是数据库需要迁移。
我正在使用 Rails 4. 如何切换列表项的背景颜色?
到目前为止,这是我的代码。但是,当我刷新页面时,颜色消失了。
application.js:
$(document).ready(function() {
$(".myitem").on("click", function() {
$(this).toggleClass("changecolor");
});
});
index.html.erb
<% @ideas.each do |idea| %>
<li class="myitem"><%= idea.description %></li>
<% end %>
.css 文件:
.changecolor {
background-color: blue;
}
接下来我该做什么?
接下来 - 您应该将颜色 class 保存到数据库,并使用数据库值
将 class 分配给 div根据一些情况,您应该将其保存在 cookie、会话或数据库中。
Cookie:如果您希望它只影响进行更改的用户的计算机,而不需要其他地方的值。
会话:如果您希望它只影响进行更改的用户的计算机,但您可能希望在代码中除 JS 之外的其他地方使用它。
数据库:如果要给大家存起来!或者只是一个用户,但希望确保它保存更长时间并且即使用户在不同的计算机上也是相同的。
所有这些选项都有一些重叠,但这基本上是要点。 session 和 cookie 不需要太多代码,但是数据库需要迁移。