第二周第四天

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


回复界面

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

修复一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>

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容