Q1. Iteration F3: Highlighting Changes中,添加完代码后,单击Add to cart后左边的id为current_item的元素只是高亮了,但并没有发生渐变。
如同 上个帖子所介绍的,还是create.js.erb中的语句不对。
解决方法:
step1. 修改 views/line_items/create.js.erb中
page[:current_item].visual_effect:highlight,
:startcolor=>
"#88ff88"
,
:endcolor=>
"#114411"
|
为
$(
'#current_item'
).css({
'background-color'
:
'#88ff88'
}).animate({
'background-color'
:
'#114411'
}, 1000);
|
step2. 由于以上语句使用了 jQuery UI,所以需要在application.js中加上一行:
//= require jquery-ui
来包含jquery-ui库。关于application.js文件及其作用,书写格式的介绍,参见 2.3 Manifest Files and Directives
PS:用Rails 3.1及之后版本创建的项目中默认在Gemfile中包含了 jquery-rails。打开了 asset pipeline的 Rails3.1及后续版本中jquery和jquery-ujs 文件已经添加到 asset pipeline中并可以使用了。如果他们还没有在app/assets/javascripts/application.js中,则加上如下两行:
//= require jquery
//= require jquery_ujs
对于 jQuery UI,推荐使用 jquery-ui-rails gem,因为它包含了jquery-ui css 并更易于定制。为了兼容性,这个gem 仍然包含了jQuery UI javascript。