<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    TWaver - 專注UI技術(shù)

    http://twaver.servasoft.com/
    posts - 171, comments - 191, trackbacks - 0, articles - 2
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    HTML5 實現(xiàn)Link跳線效果

    Posted on 2015-01-15 13:54 TWaver 閱讀(3812) 評論(0)  編輯  收藏

    之前我們推出過Flex版本的Link跳線效果,現(xiàn)在基于HTML5新版本的跳線效果也實現(xiàn)了,細微之處我們進行了改進,如link傾斜的時候Offset方向始終保持垂直等。先看效果。
    crossLink
    crosslink
    實現(xiàn)的算法和Flex基本一致,在這不做進一步分析了,算法中使用到矩陣的運算,所以在這貼一下矩陣運算的封裝。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    var matrix=function(options){
        if (!(this instanceof arguments.callee)) {
            return new arguments.callee(options);
        }
        this.init(options);
    };
     
    matrix.prototype={
        init:function(options){
            this.matrix=options.matrix;
        },
     
        add:function(mtx){
            var omtx=this.matrix;
            var newMtx=[];
            if(!mtx.length||!mtx[0].length||mtx.length!=omtx.length||mtx[0].length!=omtx[0].length){
                return;
            }
            for(var i=0,len1=omtx.length;i&lt;len1;i++){
                var rowMtx=omtx[i];
                newMtx.push([]);
                for(var j=0,len2=rowMtx.length;j&lt;len2;j++){
                    newMtx[i][j]=rowMtx[j]+mtx[i][j];
                }
            }
            this.matrix=newMtx;
            return this;
        },
     
        multiply:function(mtx){
                    var omtx = mtx.matrix;
                    var mtx = this.matrix;
                    var newMtx=[];
                    if(!isNaN(mtx)){
                        for(var i=0,len1=omtx.length;i&lt;len1;i++){
                            var rowMtx=omtx[i];
                            newMtx.push([]);
                            for(var j=0,len2=rowMtx.length;j&lt;len2;j++){
                                omtx[i][j]*=mtx;    
                            }
                        }
                        return new matrix({matrix:newMtx});
                    }
                    var sum=0;
                    for(var i=0,len1=omtx.length;i&lt;len1;i++){
                        var rowMtx=omtx[i];    
                        newMtx.push([]);
                        for(var m=0,len3=mtx[0].length;m&lt;len3;m++){
                            for(var j=0,len2=rowMtx.length;j&lt;len2;j++){
                                sum+=omtx[i][j]*mtx[j][m];    
                            }
                            newMtx[newMtx.length-1].push(sum);
                            sum=0;
                        }
                    }
                    this.matrix=newMtx;
                    return this;        
                }            
            };
            this.Matrix=matrix;

    只封裝了加和乘法,其他的運算方法也可以將矩陣表達式轉(zhuǎn)化過來就可以了,如平移、旋轉(zhuǎn)等。如需源碼,可郵箱申請。jeff.fu@servasoft.com


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 久久精品亚洲精品国产色婷| 亚洲高清成人一区二区三区| 亚洲一区二区三区夜色| 成人无码视频97免费| 亚洲国产成人影院播放| 国产亚洲精品91| 亚洲综合区小说区激情区| 一区在线免费观看| 成人亚洲性情网站WWW在线观看| 一区二区三区免费高清视频| 久久久久无码专区亚洲av| 花蝴蝶免费视频在线观看高清版| 亚洲伊人久久精品影院| 国产午夜免费高清久久影院| 亚洲国产日韩一区高清在线| 99在线在线视频免费视频观看| 亚洲黄色免费在线观看| 手机看黄av免费网址| www.亚洲日本| 亚洲A丁香五香天堂网| 99久久国产精品免费一区二区| 亚洲黄色高清视频| 手机在线免费视频| 曰韩无码AV片免费播放不卡| 亚洲综合另类小说色区| 91香蕉国产线在线观看免费| 精品国产成人亚洲午夜福利| 四虎国产精品免费视| 99久久免费国产精品热| 亚洲视频一区网站| 免费毛片在线视频| a级毛片在线免费观看| 亚洲另类古典武侠| 免费h成人黄漫画嘿咻破解版| 国产成人AV免费观看| 亚洲精品中文字幕无乱码麻豆| 亚洲成人高清在线| 777爽死你无码免费看一二区| 国产亚洲一卡2卡3卡4卡新区| 国产AV无码专区亚洲精品| 福利免费观看午夜体检区|