发表于: 2017-06-16 21:02:37

1 1100


今天完成的事情:完成了15期的前端方案,通过了方案评审。

明天计划的事情:禅道拆分好,做前台的通知页面。

困难:没做过后台,可能做起来效率不高,多做下就好了。

收获:

1.在做的内容不熟悉的情况下,方案应该尽可能的写的详细,包括通过什么参数切换,哪个接口。。。

2.下午在找前台积分页面的动画背景怎么做,目前有三种方案:

a.用jq来做:

//波浪动画
$(function () {
  var marqueeScroll = function (id1, id2, id3, timer) {
     var $parent = $("#" + id1);
     var $goal = $("#" + id2);
     var $closegoal = $("#" + id3);
     $closegoal.html($goal.html());
     function Marquee() {
        if (parseInt($parent.scrollLeft()) - $closegoal.width() >= 0) {
           $parent.scrollLeft(parseInt($parent.scrollLeft()) - $goal.width());
        }
        else {
           $parent.scrollLeft($parent.scrollLeft() + 1);
        }
     }

     setInterval(Marquee, timer);
  }
  var marqueeScroll1 = new marqueeScroll("marquee-box", "wave-list-box1", "wave-list-box2", 20);
  var marqueeScroll2 = new marqueeScroll("marquee-box3", "wave-list-box4", "wave-list-box5", 40);
});

b.用css3的动画来做,这个太多了就不发demo了;

c.用canvas来画,这个也很多,不过用画布相对来说清晰一些,研究了很久还是想贴下!!!主要代码是:

function loop(){
   ctx.clearRect(0,0,canvas.width,canvas.height);
   step++;
   //3个不同颜色的矩形
   for(var j = lines.length - 1; j >= 0; j--) {
       ctx.fillStyle = lines[j];
       //每个矩形的角度都不同,每个之间相差45
       var angle = (step+j*45)*Math.PI/180;
       var deltaHeight = Math.sin(angle) * 50;
       var deltaHeightRight = Math.cos(angle) * 50;
       ctx.beginPath();
       ctx.moveTo(0, canvas.height/2+deltaHeight);
       ctx.bezierCurveTo(canvas.width /2, canvas.height/2+deltaHeight-50, canvas.width / 2,         canvas.height/2+deltaHeightRight-50, canvas.width, canvas.height/2+deltaHeightRight);
       ctx.lineTo(canvas.width, canvas.height);
       ctx.lineTo(0, canvas.height);
       ctx.lineTo(0, canvas.height/2+deltaHeight);
       ctx.closePath();
       ctx.fill();
   }
   requestAnimFrame(loop);
}




返回列表 返回列表
评论

    分享到