还是看《Agile Web Development with Rails 4th》遇到的问题。
在发了帖子后“点击一下按钮,发送两次 Ajax 请求。求解释?” http://ruby-china.org/topics/10624,解决掉了两次请求的问题。
但是刚刚发现,点击“Add to Cart”后,变化的商品高亮显示了。针对高亮,还设置了黄色渐变,渐变成和背景色一样的相关。但是,实际运行的效果确实,渐变效果没有生效。我看了看页面中所有的 JavaScript 代码, 没有发现我自己写的那段代码。这是怎么回事? 找到这段代码了,点击“Add to Cart”后, 在返回的响应主体里。但是, 为啥没有生效呢?
相关原代码如下: %depot%/app/views/line_items/create.js.erb
if ($('#cart tr').length == 1) {
$('#cart').show('blind', 1000);
}
$('#cart').html("<%=j render @cart %>");
$('#current_item').css({'background-color':'#88ff88'})
.animate({'background-color':'#114411'}, 1000);
点击“Add to Cart”后,返回的内容:
if ($('#cart tr').length == 1) {
$('#cart').show('blind', 1000);
}
$('#cart').html("<div class=\"cart_title\">Your Cart<\/div>\n<table>\n <tr id=\"current_item\">\n <td>1×<\/td>\n <td>Programming Ruby 1.9<\/td>\n <td class=\"item_price\">$49.95<\/td>\n<\/tr>\n\n\n <tr class=\"total_line\">\n <td colspan=\"2\">Total<\/td>\n <td class=\"total_cell\">$49.95<\/td>\n <\/tr>\n<\/table>\n\n<form action=\"/carts/37\" class=\"button_to\" method=\"post\"><div><input name=\"_method\" type=\"hidden\" value=\"delete\" /><input data-confirm=\"Are you sure?\" type=\"submit\" value=\"Empty cart\" /><input name=\"authenticity_token\" type=\"hidden\" value=\"CPMBK26mEqJh22ILD4S6zPC2QQy1IcjXnSqIROH8kQ0=\" /><\/div><\/form>\n");
$('#current_item').css({'background-color':'#88ff88'})
.animate({'background-color':'#114411'}, 1000);