html绘制两条直线,HTML5/Canvas数学之美:使用直线绘制多个曲面图形

JavaScript

语言:

JaveScriptBabelCoffeeScript

确定

(function() {

var $canvas = $('.mycanvas');

var Shape = function($element, options) {

if (!(this instanceof Shape)) {

return new Shape($element, options);

}

this.$canvas = $element;

this.options = options;

this.currentValue = 0;

this.count = 0;

this.incremental = options.incremental || 10;

this.POINTS = 50;

this._cleanCanvas();

this._renderLine();

}

Shape.prototype._renderLine = function() {

var that = this;

var $line = $('', {

"class": 'line'

}).css(this._renderStylesForNextLine(this.currentValue, this.count))

if (this.currentValue < this.POINTS * this.incremental) {

requestAnimationFrame(function() {

that.count++;

that.currentValue = that.currentValue + that.incremental;

that.$canvas.append($line);

that._renderLine();

});

}

};

Shape.prototype._cleanCanvas = function() {

this.$canvas.empty();

}

Shape.prototype._renderStylesForNextLine = function(value, count) {

return {

top: value + 'px',

transform: 'rotate(-' + count * this.options.rotation + 'deg)'

};

}

$('.js-change-shape').on('click', function(e) {

var $target = $(e.target);

var rotation = $target.data('rotation');

var incremental = $target.data('incremental');

$('.js-change-shape').removeClass('is-active');

$target.addClass('is-active');

Shape($canvas, {

rotation: rotation,

incremental: incremental

});

});

$('.js-change-shape').eq(0).trigger('click');

})();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值