亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ether-painters.js

?? javascript實現的關于時間線的簡單例子。
?? JS
字號:
/*==================================================
 *  Planning Ether Painter
 *==================================================
 */
 
Timeline.PlanningEtherPainter = function(params, band, timeline) {
    this._params = params;
    this._intervalUnit = params.intervalUnit;
    this._multiple = ("multiple" in params) ? params.multiple : 1;
    this._theme = params.theme;
};

Timeline.PlanningEtherPainter.prototype.initialize = function(band, timeline) {
    this._band = band;
    this._timeline = timeline;
    
    this._backgroundLayer = band.createLayerDiv(0);
    this._backgroundLayer.setAttribute("name", "ether-background"); // for debugging
    this._backgroundLayer.style.background = this._theme.ether.backgroundColors[band.getIndex()];
    
    this._markerLayer = null;
    this._lineLayer = null;
    
    var align = ("align" in this._params && typeof this._params.align == "string") ? this._params.align : 
        this._theme.ether.interval.marker[timeline.isHorizontal() ? "hAlign" : "vAlign"];
    var showLine = ("showLine" in this._params) ? this._params.showLine : 
        this._theme.ether.interval.line.show;
        
    this._intervalMarkerLayout = new Timeline.PlanningEtherMarkerLayout(
        this._timeline, this._band, this._theme, align, showLine);
        
    this._highlight = new Timeline.EtherHighlight(
        this._timeline, this._band, this._theme, this._backgroundLayer);
}

Timeline.PlanningEtherPainter.prototype.setHighlight = function(startDate, endDate) {
    this._highlight.position(startDate, endDate);
}

Timeline.PlanningEtherPainter.prototype.paint = function() {
    if (this._markerLayer) {
        this._band.removeLayerDiv(this._markerLayer);
    }
    this._markerLayer = this._band.createLayerDiv(100);
    this._markerLayer.setAttribute("name", "ether-markers"); // for debugging
    this._markerLayer.style.display = "none";
    
    if (this._lineLayer) {
        this._band.removeLayerDiv(this._lineLayer);
    }
    this._lineLayer = this._band.createLayerDiv(1);
    this._lineLayer.setAttribute("name", "ether-lines"); // for debugging
    this._lineLayer.style.display = "none";
    
    var minDate = Math.max(0, Math.ceil(Timeline.PlanningUnit.toNumber(this._band.getMinDate())));
    var maxDate = Math.floor(Timeline.PlanningUnit.toNumber(this._band.getMaxDate()));
    
    var hasMore = function() {
        return minDate < maxDate;
    };
    var change = 1;
    var multiple = this._multiple;
    switch (this._intervalUnit) {
        case Timeline.PlanningUnit.DAY:     change = 1; break;
        case Timeline.PlanningUnit.WEEK:    change = 7; break;
        case Timeline.PlanningUnit.MONTH:   change = 28; break;
        case Timeline.PlanningUnit.QUARTER: change = 28 * 3; break;
        case Timeline.PlanningUnit.YEAR:    change = 28 * 12; break;
    }
    var increment = function() {
        minDate += change * multiple;
    };
    
    var labeller = this._band.getLabeller();
    while (true) {
        this._intervalMarkerLayout.createIntervalMarker(
            Timeline.PlanningUnit.fromNumber(minDate), 
            labeller, 
            this._intervalUnit, 
            this._markerLayer, 
            this._lineLayer
        );
        if (hasMore()) {
            increment();
        } else {
            break;
        }
    }
    this._markerLayer.style.display = "block";
    this._lineLayer.style.display = "block";
};

Timeline.PlanningEtherPainter.prototype.softPaint = function() {
};


/*==================================================
 *  Planning Ether Marker Layout
 *==================================================
 */
 
Timeline.PlanningEtherMarkerLayout = function(timeline, band, theme, align, showLine) {
    var horizontal = timeline.isHorizontal();
    if (horizontal) {
        if (align == "Top") {
            this.positionDiv = function(div, offset) {
                div.style.left = offset + "px";
                div.style.top = "0px";
            };
        } else {
            this.positionDiv = function(div, offset) {
                div.style.left = offset + "px";
                div.style.bottom = "0px";
            };
        }
    } else {
        if (align == "Left") {
            this.positionDiv = function(div, offset) {
                div.style.top = offset + "px";
                div.style.left = "0px";
            };
        } else {
            this.positionDiv = function(div, offset) {
                div.style.top = offset + "px";
                div.style.right = "0px";
            };
        }
    }
    
    var markerTheme = theme.ether.interval.marker;
    var lineTheme = theme.ether.interval.line;
    
    var stylePrefix = (horizontal ? "h" : "v") + align;
    var labelStyler = markerTheme[stylePrefix + "Styler"];
    var emphasizedLabelStyler = markerTheme[stylePrefix + "EmphasizedStyler"];
    
    this.createIntervalMarker = function(date, labeller, unit, markerDiv, lineDiv) {
        var offset = Math.round(band.dateToPixelOffset(date));

        if (showLine) {
            var divLine = timeline.getDocument().createElement("div");
            divLine.style.position = "absolute";
            
            if (lineTheme.opacity < 100) {
                Timeline.Graphics.setOpacity(divLine, lineTheme.opacity);
            }
            
            if (horizontal) {
                divLine.style.borderLeft = "1px solid " + lineTheme.color;
                divLine.style.left = offset + "px";
                divLine.style.width = "1px";
                divLine.style.top = "0px";
                divLine.style.height = "100%";
            } else {
                divLine.style.borderTop = "1px solid " + lineTheme.color;
                divLine.style.top = offset + "px";
                divLine.style.height = "1px";
                divLine.style.left = "0px";
                divLine.style.width = "100%";
            }
            lineDiv.appendChild(divLine);
        }
        
        var label = labeller.labelInterval(date, unit);
        
        var div = timeline.getDocument().createElement("div");
        div.innerHTML = label.text;
        div.style.position = "absolute";
        (label.emphasized ? emphasizedLabelStyler : labelStyler)(div);
        
        this.positionDiv(div, offset);
        markerDiv.appendChild(div);
        
        return div;
    };
};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99精品国产麻豆婷婷| 欧美视频中文一区二区三区在线观看| 北岛玲一区二区三区四区| 色播五月激情综合网| 精品卡一卡二卡三卡四在线| 亚洲另类春色国产| 国产成人自拍网| 日韩一区二区精品葵司在线| 亚洲欧美日韩精品久久久久| 韩国视频一区二区| 欧美怡红院视频| 中文字幕一区在线观看视频| 久久精品国产99国产精品| 日本高清不卡视频| 国产精品久久久久久亚洲伦| 国内精品国产成人国产三级粉色 | 国产亚洲欧美日韩在线一区| 亚洲电影一区二区三区| 国产福利一区二区三区视频| 日韩一本二本av| 婷婷久久综合九色综合伊人色| 91在线视频官网| 国产精品久久久久久久岛一牛影视 | 日韩不卡一二三区| 一本久久综合亚洲鲁鲁五月天| 26uuu久久天堂性欧美| 亚洲综合区在线| 91香蕉视频mp4| 综合av第一页| av电影在线观看不卡| 国产精品丝袜黑色高跟| 国产伦精品一区二区三区视频青涩| 91麻豆精品国产91久久久使用方法 | 国产酒店精品激情| 日韩欧美一区二区久久婷婷| 婷婷丁香久久五月婷婷| 在线欧美小视频| 亚洲人成小说网站色在线 | 久久国产精品一区二区| 日韩一级免费观看| 精东粉嫩av免费一区二区三区| 日韩视频一区在线观看| 日韩av电影天堂| 日韩三级在线免费观看| 麻豆精品一二三| 日韩一卡二卡三卡国产欧美| 欧美aaa在线| 日韩欧美黄色影院| 狠狠久久亚洲欧美| 国产婷婷色一区二区三区| 91在线无精精品入口| 亚洲成人一区在线| 日韩视频在线永久播放| 国产一区美女在线| 中文字幕不卡的av| 91蜜桃婷婷狠狠久久综合9色| 亚洲人精品午夜| 欧美日本在线播放| 国内精品伊人久久久久av影院 | 成人妖精视频yjsp地址| 国产精品视频九色porn| 色一区在线观看| 日本午夜精品视频在线观看 | 91精品国产色综合久久ai换脸| 麻豆中文一区二区| 国产精品美女一区二区三区 | 91色porny在线视频| 亚洲第一综合色| 26uuu国产电影一区二区| 99国产精品久久| 日韩 欧美一区二区三区| 久久精品一区二区三区四区| 欧美性大战xxxxx久久久| 久久国产精品色| 亚洲影视在线观看| 精品国产乱码久久久久久浪潮| 99精品视频在线免费观看| 日韩成人一区二区三区在线观看| 中文av字幕一区| 欧美一区二区三区四区在线观看| 丁香五精品蜜臀久久久久99网站| 午夜欧美大尺度福利影院在线看| 中文字幕第一区| 日韩免费观看高清完整版| 色综合久久六月婷婷中文字幕| 久久精品国产精品亚洲综合| 亚洲午夜激情网站| 国产精品日韩成人| 欧美精品一区二区久久婷婷 | 欧美激情综合五月色丁香| 在线综合视频播放| 在线影院国内精品| 国产成人精品亚洲777人妖| 日本一区中文字幕| 亚洲一区二区三区爽爽爽爽爽| 欧美激情艳妇裸体舞| 久久综合久久综合久久综合| 666欧美在线视频| 欧美日韩美女一区二区| 91热门视频在线观看| 懂色av中文一区二区三区| 久久99精品久久久久久| 人人爽香蕉精品| 亚洲国产精品久久久男人的天堂| 中文字幕中文字幕在线一区 | 另类的小说在线视频另类成人小视频在线 | 日韩vs国产vs欧美| 亚洲第一综合色| 亚洲一级片在线观看| 成人欧美一区二区三区小说| 国产欧美日韩三级| 国产精品网站在线观看| 久久精品视频网| 中文字幕av在线一区二区三区| 久久久国产精品麻豆| 久久精品一区二区三区四区| 精品国产乱码久久久久久蜜臀| 精品久久免费看| 国产亚洲一区字幕| 国产精品不卡在线| 亚洲精品日韩综合观看成人91| 亚洲日本在线视频观看| 亚洲激情校园春色| 一个色妞综合视频在线观看| 亚洲小说春色综合另类电影| 午夜国产不卡在线观看视频| 日韩avvvv在线播放| 激情成人午夜视频| 国产精品主播直播| 成人短视频下载| 一本大道av伊人久久综合| 欧美亚洲国产bt| 日韩一区二区三区免费看| 精品国产网站在线观看| 久久青草欧美一区二区三区| 最新不卡av在线| 亚洲va国产天堂va久久en| 久久99国产精品久久99果冻传媒| 国产一区二区三区免费播放| 成人免费视频播放| 欧美色图天堂网| 精品国产百合女同互慰| 成人免费一区二区三区视频| 亚洲aⅴ怡春院| 久久99热99| 色综合天天综合网国产成人综合天| 欧美在线短视频| 国产香蕉久久精品综合网| 亚洲九九爱视频| 久久电影国产免费久久电影| av激情成人网| 欧美mv日韩mv国产网站app| 亚洲日本护士毛茸茸| 日韩高清一级片| 波多野结衣亚洲| 欧美久久免费观看| 久久九九99视频| 日韩极品在线观看| 成人精品视频网站| 91精品国产一区二区人妖| 中文字幕一区二区三区乱码在线 | 一区二区日韩电影| 久久精品国产久精国产| 在线国产亚洲欧美| 国产日产欧美一区| 日本不卡视频在线| 色香蕉成人二区免费| 久久视频一区二区| 亚洲一二三四区| 成人污污视频在线观看| 欧美一级一区二区| 亚洲激情欧美激情| 国产91对白在线观看九色| 88在线观看91蜜桃国自产| 成人欧美一区二区三区小说| 国产乱妇无码大片在线观看| 91精品欧美综合在线观看最新 | 欧美视频一区二区三区在线观看| 国产丝袜欧美中文另类| 久色婷婷小香蕉久久| 欧美自拍偷拍一区| 成人欧美一区二区三区黑人麻豆| 国产在线国偷精品免费看| 日韩一区和二区| 视频一区欧美精品| 欧美天堂一区二区三区| 亚洲人成网站影音先锋播放| 成人小视频在线观看| 久久女同性恋中文字幕| 激情综合色综合久久| 欧美一区二区三区视频在线 | 亚洲国产日韩综合久久精品| 91视视频在线观看入口直接观看www| 精品福利一区二区三区| 美女任你摸久久| 日韩精品在线网站| 蜜桃精品视频在线| 欧美电影免费提供在线观看| 免费人成黄页网站在线一区二区 | 欧美亚洲国产怡红院影院|