bluedream2009

javascript正弦曲线

2010-06-24 14:33  BlueDream  阅读(1321)  评论(1编辑  收藏  举报

【程序示例】

 

【程序源码】

var math = function() {
    function T$(i) { return document.getElementById(i); }
    var xlen = T$(\'content\').clientWidth; x_posy = T$(\'content\').clientHeight / 2, angle = 0;

    function drawSine(amp) {
        var self = this;
        if (!(self instanceof drawSine)) {
            return new drawSine(amp);
        } 
        self.amp = amp;
        self.initialize();
    }

    drawSine.prototype = {
        initialize: function() {
            var self = this;
            self.drawXaxis();
            self.drawYaxis();
        },

        drawXaxis: function() {
            var self = this;
            for (var i = 0, arr = []; i < xlen; ++i) {
                arr[i] = self.createDot(1, 1, i, x_posy, \'#213478\');
            } 
            T$(\'graph\').innerHTML += arr.join(\'\');
        },

        drawYaxis: function() {
            var self = this, amp = self.amp;
            for (var i = 0, arr = []; i < xlen; ++i) {
                arr[i] = self.createDot(2, 2, i += amp, x_posy + Math.sin(angle+=.1) * x_posy, \'#FF9933\');
            } 
            T$(\'graph\').innerHTML += arr.join(\'\');
        },

        createDot: function(w, h, x, y, c) {
            return \'<div style="width:\'+w+\'px;height:\'+h+\'px;font-size:0;background-color:\'+c+\';position:absolute;left:\'+x+\'px;top:\'+y+\'px;"><\/div>\';
        }
    }

    return {drawSine: drawSine}
}();

math.drawSine(2 /* 波长 */);

【源码下载】

drawSine 

分类:

技术点:

相关文章: