zoukankan      html  css  js  c++  java
  • [AWDwR4] Iteration F4

      直接参照链接 section-11.4 来做
      在app/views/line_items/create.js.erb 中使用jQuery语句来产生渐变显示。

     if($('#cart tr').length == 1) { $('#cart').show('blind', 1000);}    

        可以使用JavaScript lint  在线检查JavaScript的语法对不对。
        注意此时的语法是jQuery的语法,而书上的create.js.rjs是在服务器端进行处理之后才生成JavaScript语句的,所以可以使用成员变量 @cart.total_items。而我们使用jQuery而不是Prototype/Rjs时,只能利用客户端的Javascript语句来判断是否需要渐变显示。当 id为cart的tag中tr只有一个时,@cart.line_items.empty?==true的时候,这个时候cart里面只有一个tr,用来显示总价的。
          在 app/views/layouts/application.html.erb中

     <%= hidden_div_if(@cart.line_items.empty?, id: 'cart') do %>    
             <%= render @cart %>
     <% end %>

            hidden_div_if 是定义在app/helpers/application_helper.rb中的函数,它产生一个id为cart的div,如果@cart.line_items.empty成立,这个div的display属性为none,即不显示这个div。这样整体效果是当@cart.line_items.empty时,cart是隐藏了的,此时单击Add to cart,客户端收到服务器端的javascript代码(create.js.erb ),由于满足$('#cart tr').length == 1,所以cart会进行渐变显示,同时会执行$('#cart').html('<%= escape_javascript(render(@cart)) %>');来更新cart。

    回到本系列的目录

  • 相关阅读:
    POJ 3635 Full Tank?
    ZOJ 2112 Dynamic Rankings
    POJ 3468 A Simple Problem with Integers (2)
    FJOI2007 轮状病毒
    HDU 3308 LCIS
    POJ 2449 Remmarguts' Date
    Adroid平台图表案例源码
    Android项目——实现时间线程源码
    关于Ubuntu上Eclipse不显示手机设备
    自定义ListView下拉弹起效果
  • 原文地址:https://www.cnblogs.com/Jack47/p/2757682.html
Copyright © 2011-2022 走看看