Raphael.js

特点:

  1.兼容VML和SVG
  2.扩展功能——动画

用法:

  //1.创建画布
  let paper=Raphael(x,y,width,height);

  //2.创建形状
  let rect=paper.rect(x,y,width,height);

  //3.设置属性(样式)
  rect.attr({fill: 'red', stroke: 'green'});

  //4.事件
  rect.click(fn);
  rect.unclick(fn);

参数说明:https://www.cnblogs.com/cxmSuperman/p/10582248.html

例子:

 <script>      //基础用法
window.onload=function (){
let paper=Raphael(0,0,800,600); //图形
let rect=paper.rect(100,100,400,300); //属性&样式
rect.attr('fill', '#CCC'); //事件
rect.click(function (){
//this.attr('fill', 'red');
//alert(this.attr('fill')); this.attr({fill: 'red', width: '200', height: '150'});
});
};
</script>
 <script>    //圆角矩形
window.onload=function (){
let paper=Raphael(0,0,800,600); //图形
let rect=paper.rect(100,100,400,300, 10);
};
8 </script>
     <script>   //椭圆
window.onload=function (){
let paper=Raphael(0,0,800,600); //图形
let rect=paper.ellipse(400, 300, 250, 150);
};
8 </script>
    <script>    //图片
window.onload=function (){
let paper=Raphael(0,0,800,600);
  </span><span style="color: #008000;">//</span><span style="color: #008000;">图形</span>
let rect=paper.image('bd_logo.png', 50, 50,540,258<span style="color: #000000;">);
};
</span>&lt;/script&gt;</pre>
    <script>      //path
window.onload=function (){
let paper=Raphael(0,0,800,600);
  </span><span style="color: #008000;">//</span><span style="color: #008000;">图形</span>
let rect=paper.path("M 100 100 L 400 100 400 300 100 300 Z"<span style="color: #000000;">)
};
</span>&lt;/script&gt;</pre>
    <script>     //事件
window.onload=function (){
var paper=Raphael(0,0,800,600);
  </span><span style="color: #008000;">//</span><span style="color: #008000;">图形</span>
<span style="color: #0000ff;">var</span> path=paper.path("M 100 100 L 400 100 400 300 100 300 Z"<span style="color: #000000;">);
path.attr(</span>'fill', 'yellow'<span style="color: #000000;">); path.hover(</span><span style="color: #0000ff;">function</span><span style="color: #000000;"> (){
</span><span style="color: #0000ff;">this</span>.attr('fill', 'green'<span style="color: #000000;">);
}, </span><span style="color: #0000ff;">function</span><span style="color: #000000;"> (){
</span><span style="color: #0000ff;">this</span>.attr('fill', 'yellow'<span style="color: #000000;">);
}); setTimeout(</span><span style="color: #0000ff;">function</span><span style="color: #000000;"> (){
path.unhover();
}, </span>5000<span style="color: #000000;">);
};
</span>&lt;/script&gt;</pre>
    <script>  //transform
window.onload=function (){
var paper=Raphael(0,0,800,600);
  </span><span style="color: #008000;">//</span><span style="color: #008000;">图形</span>
<span style="color: #0000ff;">var</span> rect=paper.rect(100, 100, 300, 200<span style="color: #000000;">);
rect.attr(</span>'fill', 'yellow'<span style="color: #000000;">); rect.click(</span><span style="color: #0000ff;">function</span><span style="color: #000000;"> (){
</span><span style="color: #0000ff;">this</span>.attr('transform', 's2,1 r30'<span style="color: #000000;">);
});
};
</span>&lt;/script&gt;</pre>
<!DOCTYPE html>    //动画
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="raphael.js" charset="utf-8"></script>
<script>
window.onload=function (){
let paper=Raphael(50,50,800,600);
let types=['linear', 'easeIn', 'easeOut', 'easeInOut', 'backIn', 'backOut', 'elastic', 'bounce'];
let oBtn=document.getElementById('btn1');
  </span><span style="color: #008000;">//</span><span style="color: #008000;">图形</span>
let rects=types.map((type,index)=&gt;<span style="color: #000000;">{
</span><span style="color: #0000ff;">var</span> rect=paper.rect(0, 60*index, 50, 50<span style="color: #000000;">);
rect.attr(</span>'fill', 'yellow'<span style="color: #000000;">); </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> rect;
}); </span><span style="color: #008000;">//

oBtn.onclick=function (){

rects.forEach((rect, index)=>{

rect.animate({'x': 600}, 3000, types[index]);

});

};

};

</script>

</head>

<body>

<input type="button" name="" value="走" id="btn1">

</body>

</html>

    <script>    //   好玩的东西
window.onload=function (){
let paper=Raphael(50,50,800,600);
  let path</span>=paper.path('M 100 100 L 400 100 400 300 100 300 Z'<span style="color: #000000;">);
path.attr(</span>'fill', 'yellow'<span style="color: #000000;">); path.hover(</span><span style="color: #0000ff;">function</span><span style="color: #000000;"> (){
</span><span style="color: #0000ff;">this</span>.animate({'path': 'M 250 100 L 250 100 400 300 100 300 Z'}, 700, 'bounce'<span style="color: #000000;">);
}, </span><span style="color: #0000ff;">function</span><span style="color: #000000;"> (){
</span><span style="color: #0000ff;">this</span>.animate({'path': 'M 100 100 L 400 100 400 300 100 300 Z'}, 700, 'bounce'<span style="color: #000000;">);
});
};
</span>&lt;/script&gt;</pre>

Raphael.js--基础1的更多相关文章

  1. 学习RaphaelJS矢量图形包--Learning Raphael JS Vector Graphics中文翻译(一)

    (原文地址:http://www.cnblogs.com/idealer3d/p/LearningRaphaelJSVectorGraphics.html) 前面3篇博文里面,我们讲解了一本叫做< ...

  2. 强大的矢量图形库:Raphael JS 中文帮助文档及教程

    Raphael 是一个用于在网页中绘制矢量图形的 Javascript 库.它使用 SVG W3C 推荐标准和 VML 作为创建图形的基础,你可以通过 JavaScript 操作 DOM 来轻松创建出 ...

  3. Raphael Js矢量库API简介:

    Raphael Js矢量库API简介:Raphael Javascript 是一个 Javascript的矢量库. 2010年6月15日,著名的JavaScript库ExtJS与触摸屏代码库项目jQT ...

  4. Raphael.js改变元素层叠顺序

    Raphael.js 元素(Element)改变层叠顺序,Raphael.js是一个矢量绘图库兼容svg和vml.初学时感觉css的z-index能搞定,结果是不支持,不过矢量绘图符合dom标准.可以 ...

  5. js 基础篇(点击事件轮播图的实现)

    轮播图在以后的应用中还是比较常见的,不需要多少行代码就能实现.但是在只掌握了js基础知识的情况下,怎么来用较少的而且逻辑又简单的方法来实现呢?下面来分析下几种不同的做法: 1.利用位移的方法来实现 首 ...

  6. js 基础

    js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划():避 ...

  7. js基础练习二之简易日历

    今天学到了js基础教程3,昨天的课后练习还没来的及做,这个是类似简易日历的小案例,视频还没听完,今晚继续...... 先看效果图: 其实做过前面的Tab选项卡,这个就很好理解了,通过鼠标放在不同月份月 ...

  8. [JS复习] JS 基础知识

    项目结尾,空闲时间,又把<JS 基础知识> 这本书过了一遍,温故知新后,很多知其然不知其所以然的内容 豁然开朗. [1. 用于范围的标签] display  :inline or bloc ...

  9. JS基础(超级简单)

    1     JS基础(超级简单) 1.1 数据类型 1.1.1   基本类型: 1)        Number:特别注意:NaN的检测方法:Nan!=NaN;或者使用isNaN方法 2)       ...

  10. Node.js基础与实战

    Node.js基础与实战 Node.jsJS高级进阶 NODE原理与解析 REPL交互环境 模块与NPM Buffer缓存区 fs文件操作 Stream流 TCP&UDP 异步编程 HTTP& ...

随机推荐

  1. TZOJ 4493: Remove Digits

    4493: Remove Digits 时间限制(普通/Java):1000MS/3000MS     内存限制:65536KByte 总提交: 329            测试通过:77 描述 G ...

  2. 3.远程连接工具、JDK安装

    1.实现Centos和windows的文件传输,可以使用Xshell和Xftp(实验指导使用的是winscp). (1).可以使用Xshell远程登陆Linux,具体安装过程略. (2).登陆Cent ...

  3. PowerBI/Excel - PowerQuery数据转换系列 - 如何将多行的值串联到一行 - 行列转换

    Power Query 是做数据转换.数据清洗的利器,不管是在Excel还是PowerBI,如何玩好Power Query是成功建模的必不可少的一步. 今天要get到的一个新技巧:行列转换 如何将多行 ...

  4. 在C#中,Newtonsoft.Json + dynamic动态解析jsonString,jsonString转实体

    记录一下 引用 using Newtonsoft.Json; using Newtonsoft.Json.Linq; var jsonString = "{\"ApiResourc ...

  5. Spring Boot入门 and Spring Boot与ActiveMQ整合

    1.Spring Boot入门 1.1什么是Spring Boot Spring 诞生时是 Java 企业版(Java Enterprise Edition,JEE,也称 J2EE)的轻量级代替品.无 ...

  6. upCode

    更新源码 Sub main() Dim str As String str = "这是测试的字符串对话框" MsgBox str Sheets(1).Select End Sub

  7. 请求http页面的相关过程

    http请求从TCP建立三次握手后进行,客户端按照规定的格式向服务器发送http请求,服务器在接收到这个请求之后,首先要对其进行解析,发掘出客户端所需要的相关资源,然后经过相应的业务逻辑处理,找到这个 ...

  8. eclipse配置tomcat添加外部项目

    在eclipse中配置tomcat,添加外部项目. 添加外部项目 然后直接启动服务器,服务器里面不能添加项目.

  9. Go 初体验 - 错误与异常处理 - recover和panic

    先看代码: 输出: 内建函数panic可以让我们人为地产生一个运行时恐慌.不过,这种致命错误是可以被恢复的.在Go语言中,内建函数recover就可以做到这一点. 实际上,内建函数panic和reco ...

  10. C# string 常用功能的方法扩展

    #region Usings using System; using System.Text; using System.Data; using System.Data.SqlClient; usin ...