HTML5 实现Link跳线效果

之前我们推出过Flex版本的Link跳线效果,现在基于HTML5新版本的跳线效果也实现了,细微之处我们进行了改进,如link倾斜的时候Offset方向始终保持垂直等。先看效果。

实现的算法和Flex基本一致,在这不做进一步分析了,算法中使用到矩阵的运算,所以在这贴一下矩阵运算的封装。

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<len1;i++){
            var rowMtx=omtx[i];
            newMtx.push([]);
            for(var j=0,len2=rowMtx.length;j<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<len1;i++){
                        var rowMtx=omtx[i];
                        newMtx.push([]);
                        for(var j=0,len2=rowMtx.length;j<len2;j++){
                            omtx[i][j]*=mtx;
                        }
                    }
                    return new matrix({matrix:newMtx});
                }
                var sum=0;
                for(var i=0,len1=omtx.length;i<len1;i++){
                    var rowMtx=omtx[i];
                    newMtx.push([]);
                    for(var m=0,len3=mtx[0].length;m<len3;m++){
                        for(var j=0,len2=rowMtx.length;j<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;

只封装了加和乘法,其他的运算方法也可以将矩阵表达式转化过来就可以了,如平移、旋转等。如需源码,可邮箱申请。[email protected]

时间: 2024-10-29 03:29:45

HTML5 实现Link跳线效果的相关文章

如何使用 HTML5 Canvas 制作水波纹效果

原文:如何使用 HTML5 Canvas 制作水波纹效果 今天,我们继续分享 JavaScript 实现的效果例子,这篇文章会介绍使用 JavaScript 实现水波纹效果.水波效果以图片为背景,点击图片任意位置都会触发.有时候,我们使用普通的 Javascript 就可以创建一个很有趣的解决功能. 在线演示      源码下载 Step 1. HTML 和以前一样,首先是 HTML 代码: <!DOCTYPE html> <html> <head> <meta

HTML5 实现橡皮擦的擦除效果

声明:本文为原创文章,如需转载,请注明来源WAxes,谢谢! 最近项目刚好用到这种效果,也就是有点像刮刮卡一样,在移动设备上,把某张图片刮掉显示出另一张图片.效果图如下:  DEMO请戳右:DEMO 这种在网上还是挺常见的,本来就想直接网上找个demo套用下他的方法就行了,套用了才发现,在android上卡出翔了,因为客户要求,在android不要求特别流畅,至少要能玩,但是网上找的那个demo实在太卡,根本就是没法玩的情况.于是就想自己写一个算了,本文也就权当记录一下研究过程. 这种刮图的效果

[游戏学习25] MFC 橡皮筋画线效果

>_<:这是给出窗口内外不同情况的处理展示的例子. >_<:MouseCap.h 1 #include<afxwin.h> 2 class CMyApp :public CWinApp 3 { 4 public: 5 virtual BOOL InitInstance(); 6 }; 7 class CMainWindow:public CFrameWnd 8 { 9 protected: 10 BOOL m_bTracking; //标志:鼠标按下为真,否则为假 11

尾纤与跳线的区别

很多人很高深的说我见过尾纤,我晕,我说给我购买一个吧,我看看,结果这个家伙购买回来的是跳线被别人剪开的,说尾纤和跳线不一样,我真无语了,其实尾纤和跳线就是一种啦,跳线从中间的位置剪裁开,就是两根尾纤,下边看图吧! 尾纤. 跳线 看出来了吧,其实跳线和尾纤的区别就是有几个活动头. 尾纤:一端有连接头,另一端是一根光缆纤芯的断头.通过熔接,与其他光缆纤芯相连.        尾纤作用:主要是用于连接光纤两端的接头.尾纤一端跟光纤接头熔接,另一端通过特殊的接头跟光纤收发器或光纤模块相连,构成光数据传输

css样式实现字体删除线效果

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 5 <title>删除线实例 在线演示 www.divcss5.com</title> 6 <style> 7 .divcss5{ text-decoration:li

更换硬盘跳线,ceph osd 不能正常启动

1.环境说明 使用kolla 部署了ceph,由于osd 0占用于 sata 0通道,需要将系统盘与osd 0的跳线交换,在跳线交换后,osd 0不能正常启动. 2.原因分析: 交换跳线前,osd 0的设备文件为/dev/sda2 ,交换跳线后变为/dev/sdc2,osd在启动时,--osd-journal /dev/sda2,指定日志设备,由于跳线变更后,日志分区设备名称变为/dev/sdc2,而osd 启动依然使用/dev/sda2作日志设备,故启动失败. 3.解决办法: 删除原有dock

如何实现点击链接不跳转效果

何实现点击链接不跳转效果:超链接<a>原本作用就是为了实现网页跳转的,但是某些情况下,会希望当点击链接的时候并不产生跳转效果,而是在满足一定条件下再进行跳转.下面就介绍一下实现此效果的方法:为超链接绑定onclick事件处理函数,然后返回false,代码如下: <script type="text/javascript"> window.onload=function(){ var mylink=document.getElementById("myl

华硕主板M2N-电源跳线怎么接

华硕主板M2N电源跳线的连接方法:1.把所有排线理在一起,根据上面的标注,先来明确每根线的定义:a.电源开关:POWER SW,可能用名:POWER.POWER SWITCH.ON/OFF.POWER SETUP.PWR等,功能定义:机箱前面的复位按钮.b.复位/重启开关:RESETSW ,可能用名:RESET.Reset Swicth.Reset Setup.RST等,功能定义:机箱前面的开机按钮.c.电源指示灯:+/- 可能用名:POWER LED.PLED.PWRLED.SYS LED等d

HTML5开发的翻页效果实例

简介2010年F-i.com和Google Chrome团队合力致力于主题为<20 Things I Learned about Browsers and the Web>(www.20thingsilearned.com)的web app的宣传教育.这个项目最主要的思想是在传达,用web展现电子书的内容是最合适的选择.因为展现电子书的内容是前所未有的web技术,我们坚信以现在的技术完全可以用一个容器来展现这样的例子. 书籍的封面同时也是<20 Things I Learned Abou