美文网首页
第二周第四天

第二周第四天

作者: yisky | 来源:发表于2016-07-15 11:18 被阅读10次

    昨天修改回复样式。效果如下图:


    回复界面

    =============================

    修复一BUG

    -- 提取经验详细信息时,会报错。因为从数据库没获取到对象,为null。

    控制层 .cs

    /// <summary>
     /// 项目经验分享详细页面
     /// </summary>
     /// <param name="tid">经验GUID </param>
     /// <returns></returns>
     public ActionResult ProjectExperienceDetails(string tid)
     {
         var backurl = Request.UrlReferrer; //记录前页URL
         var editExperienceShare = ExperienceShare.GetExperienceShareById(tid);
         if (editExperienceShare == null)
         {
             TempData["error"] = "此数据出错...已通知系统管理员!";
             return Redirect(backurl.ToString()); //如果对象为空,则返回上一页。并将错误信息传过去。
         }
         return View(editExperienceShare);
     }
    

    前页 - 经验分享列表 - .cshtml

    @{ 
        var message = TempData["error"];
        if(message!=null)
        {
            Response.Write("<script>alert('"+ message.ToString() + "')</script>");
            TempData["error"] = null;//销毁此对象,防止多次提示
        }
     
    }
    

    说明:
    1,在详细信息展示页面,提取数据,判断是否为null。如为null则回退到上一页。并将错误信息提示传递给上一页的view层。
    2,B页的控制层 给 A页的view层传值,貌似只能用 TempData。

    ================================

    今日任务: 对 经验 的 点赞 界面设计。

    html代码重构 确实是一件很辛苦的事情。这需要专人来做,并需要大量的经验积累。否则还真难拿下这件工作。

    右下角增加一点赞按钮

    点赞

    动画效果如下:


    点赞

    后台没有写。。应该是点完后,按钮数字+1.如 234变成235.

    HTML :

    <div id="Exper_Praise">
        <span id="btn"><i class="iconfont"></i> 234赞 </span>
    </div>
    

    Css:

    /*点赞*/
    #Exper_Praise {
        text-align:right;
        height: 40px;
    }
    @font-face {
      font-family: 'iconfont';
      src: url('http://at.alicdn.com/t/font_1468474149_3307927.eot'); /* IE9*/
      src: url('http://at.alicdn.com/t/font_1468474149_3307927.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
      url('http://at.alicdn.com/t/font_1468474149_3307927.woff') format('woff'), /* chrome、firefox */
      url('http://at.alicdn.com/t/font_1468474149_3307927.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
      url('http://at.alicdn.com/t/font_1468474149_3307927.svg#iconfont') format('svg'); /* iOS 4.1- */
    }
                        
    #btn {
      width: 90px;
      height: 36px;
      line-height: 36px;
      background-color:#C0C0C0;
      color: #fff;
      font-size: 14px;
      font-family: Microsoft YaHei;
      cursor: pointer;
      display: block;
      text-align: center;
      float:right;
    }
    #btn i {
      display: inline-block;
    }
    .iconfont {
      font-family: "iconfont" !important;
      font-size: 16px;
      font-style: normal;
      -webkit-font-smoothing: antialiased;
      -webkit-text-stroke-width: 0.2px;
      -moz-osx-font-smoothing: grayscale;
    }
     
    @-webkit-keyframes niceIn {
     0% {
     opacity: 1;
     -webkit-transform: scale(1);
     transform: scale(1)
        }
     50% {
     opacity: 1;
     -webkit-transform: scale(1.5);
     transform: scale(1.5)
        }
     70% {
     -webkit-transform: scale(.8);
     transform: scale(.8)
        }
     100% {
     opacity: 1;
     -webkit-transform: scale(1);
     transform: scale(1)
        }
    }
    @keyframes niceIn {
     0% {
     opacity: 1;
     -webkit-transform: scale(1);
     -ms-transform: scale(1);
     transform: scale(1)
        }
     50% {
     opacity: 1;
     -webkit-transform: scale(1.5);
     -ms-transform: scale(1.5);
     transform: scale(1.5)
        }
     70% {
     -webkit-transform: scale(.8);
     -ms-transform: scale(.8);
     transform: scale(.8)
        }
     100% {
     opacity: 1;
     -webkit-transform: scale(1);
     -ms-transform: scale(1);
     transform: scale(1)
        }
    }
     
    @-o-keyframes niceIn{
     0% {
     opacity: 1;
     -o-transform: scale(1);
     transform: scale(1)
        }
     50% {
     opacity: 1;
     -o-transform: scale(1.5);
     transform: scale(1.5)
        }
     70% {
     -o-transform: scale(.8);
     transform: scale(.8)
        }
     100% {
     opacity: 1;
     -o-transform: scale(1);
     transform: scale(1)
        }
    } 
     
    @-moz-keyframes niceIn{
     0% {
     opacity: 1;
     -moz-transform: scale(1);
     transform: scale(1)
        }
     50% {
     opacity: 1;
     -moz-transform: scale(1.5);
     transform:scale(1.5)
        }
     70% {
     -o-transform: scale(.8);
     transform: scale(.8)
        }
     100% {
     opacity: 1;
     -moz-transform: scale(1);
     transform: scale(1)
        }
    }
    .niceIn {
     -webkit-animation:niceIn 0.8s .2s ease;
     -moz-animation:niceIn 0.8s .2s ease;
     -o-animation:niceIn 0.8s .2s ease;
     animation:niceIn 0.8s .2s ease;
    }
    /*点赞结束*/
    

    Javascript:

    //依赖 Jquery库,可自行添加 cdn库。比如我用的 <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js" type="text/javascript"></script>
    
    // 百度静态资源公共库 http://cdn.code.baidu.com/
    
    <script type="text/javascript">
    (function ($) {
        $.extend({
            tipsBox: function (options) {
                options = $.extend({
                    obj: null,  //jq对象,要在那个html标签上显示
                    str: "+1",  //字符串,要显示的内容;也可以传一段html,如: "<b style='font-family:Microsoft YaHei;'>+1</b>"
                    startSize: "12px",  //动画开始的文字大小
                    endSize: "30px",    //动画结束的文字大小
                    interval: 600,  //动画时间间隔
                    color: "red",    //文字颜色
                    callback: function () { }    //回调函数
     }, options);
                $("body").append("<span class='num'>" + options.str + "</span>");
     var box = $(".num");
     var left = options.obj.offset().left + options.obj.width() / 2;
     var top = options.obj.offset().top - options.obj.height();
                box.css({
     "position": "absolute",
     "left": left + "px",
     "top": top + "px",
     "z-index": 9999,
     "font-size": options.startSize,
     "line-height": options.endSize,
     "color": options.color
     });
                box.animate({
     "font-size": options.endSize,
     "opacity": "0",
     "top": top - parseInt(options.endSize) + "px"
     }, options.interval, function () {
                    box.remove();
                    options.callback();
     });
     }
     });
    })(jQuery);
     
    function niceIn(prop){
        prop.find('i').addClass('niceIn');
        setTimeout(function(){
            prop.find('i').removeClass('niceIn');
     },1000);
    }
    $(function () {
        $("#btn").click(function () {
            $.tipsBox({
                obj: $(this),
                str: "+1",
                callback: function () {
     }
     });
            niceIn($(this));
     });
    });
    </script>
    

    下午任务:增加 点赞 逻辑代码

    相关文章

      网友评论

          本文标题:第二周第四天

          本文链接:https://www.haomeiwen.com/subject/gzpejttx.html