6个免费的翻页效果jquery插件
6 FREE JQUERY PAGE FLIPPING BOOK-LIKE PLUGINS
在过去的三到五年web开发世界,jQuery的引入和流行已经取得重大的进展。Web开发人员和程序员,不断引进新的概念和方法,创建类似Flash惊人效果,然而:Flash变得过时了,Flash正在越来越少被Web开发人员和网络管理员利用。
几年前,许多网站使用Flash来创建很多疯狂的Flash组件,但那些日子因为与其实现有关已经嘎然而止并逐渐让位给脚本语言,如jQuery和MooTools正复制Flash过去的效果。
页面翻转,已成为最流行的网页设计互动动画的捷径之一。他们可以很容易地实现在Flash,网站,文件,和你创建和发布的杂志中。结合HTML5和CSS3可以实现动画,也可以使用HTML、CSS和jQuery来实现动画。
这里收集了一些最新的JQuery的页面翻转,可用在你的下一个网上创业,如杂志网站,或网上购物网站。然而,翻页不仅限于这些,发挥你的想象力和需求,可以随时把它用在你想用到的任何地方。
1. Flip Page
FlipPage是一个用来创建翻页效果强大的jQuery插件,这个插件被开发用来在平板上触摸进行演示。插件使用HTML5、CSSS3和硬件加速,并可工作在手机浏览器上。 FlipPage插件可以将翻转效果用在显示图像(让你体验2D)。
2。Turn.JS
turn.js是一个jQuery的插件,用HTML5增添了一道亮丽的类似真实翻书或杂志的效果。它给你美丽的动画效果,您可以通过简单地转动所需的网页任何角落来浏览网页。 turn.js(15KB)是相当轻量级的和有效的翻页插件,适用于手机及平板浏览器以及利用硬件加速。
3。Booklet
Booklet是在动画书布局的网页上显示的内容的jQuery插件工具。Booklet是有众多选项的插件之一。 JavaScript的转折点页面效果不强,因为它一直在角落(从书本身没有溢出)的东西,但工作可靠。可以手动打开网页,通过键盘上下键或自动翻动。每一页上也有一个独特的网址(使用Hashtags)。Booklet支持章节,页码和回调做进一步的互动。
4。jPageFlip
jPageFlip是强大的,高度可定制的模拟翻页jQuery插件。 jPageFlip目前基于“画布技术,唯一被主流浏览器和IE9支持。 jPageFlip支持实现透明和半透明图像。HTML5视频的第一个版本已经实现,但处于实验阶段。 jFlipPage 在WebKit浏览器上有点不正常。
5。Flip
Flip是一个jQuery插件,很容易在四个方向翻转元素。允许您定义翻转的方向,你也可以定义背景颜色,动画的速度,而且还支持 onAnimation和OnEnd动画在给定的时间执行。
6。jFlip插件
这个插件将一个图片库做成一本书。您可以翻动书页,以查看下一个或上一个图像,当悬浮在图像区域可点击或拖动图画。
你能用Paper.js做什么?
现在已经有很多利用HTML5的JavaScript框架。
Paper.js是这些框架其中一个,它以容易理解的方式使用DOM构造对象。它提供了在支持<canvas>标签的web浏览器上以创造性和优雅的方式做大量操作。它也提供了一种新的和有趣的方式画矢量图形。
基本的安装如下:
<script src="js/paper.js" type="text/javascript"></script>
<script src="js/main.js" type="text/paperscript"></script>
<canvas id="draw" width="100%" height="100%" resize="true"></canvas>
psper.js被包含在你加入你的代码文件"type='text/paperscript'"之前,通过canvas元素的id去画以确保你的代码文件包含使用paper.js所有的类和功能能使用。
那么Paper.js到底能做什么呢?
1、使用预定义图形
Paper.js允许你使用不同维度预定义图形和创建线段。例如,下面的代码用“Circle”构造了圆形路径:
var myCircle = new Path.Circle(new Point(300, 70), 50);
myCircle.fillColor = 'black';
这个代码片段创建了一个黑色圆形,半径为50pts,圆心坐标x300,y为70。
为了创建一个长方形,像圆形相同的方式通过“Rectangle”构造器,代码如下:
var rectangle = new Rectangle(new Point(50, 50), new Point(150, 100));
var path = new Path.Rectangle(rectangle);
path.fillColor = '#e9e9ff';
path.selected = true;
2、创建交互
Paper.js支持拖放功能也支持键盘操作。下面演示一个在鼠标路径上画线段:
<!DOCTYPE HTML>
<html>
<head>
<script src="lib/paper.js" type="text/javascript"></script>
<script type="text/paperscript" canvas="draw">
// Create a new path once, when the script is executed:
var myPath = new Path();
myPath.strokeColor = 'black';
// This function is called whenever the user
// clicks the mouse in the view:
function onMouseDown(event) {
// If the path is empty, we need to add two segments
// to the path. The first one will stay put,
// and the second one will be moved while dragging.
if (myPath.segments.length == 0) {
myPath.add(event.point);
}
// Add a segment to the path at the position of the mouse:
myPath.add(event.point);
}
function onMouseDrag(event) {
// Move the last segment point of the path to the
// current position of the mouse:
myPath.lastSegment.point = event.point;
}
</script>
</head>
<body>
<canvas id="draw" width="100%" height="100%" resize="true"></canvas>
</body>
</html>
上面的代码允许你通过拖拉画线。
其他的鼠标处理功能当某个事件发生时能够被paper.js调用和触发。依赖于你想完成的哪种和什么级别的交互,你可以组合鼠标处理功能像event.point,event.downpoint 或 event.pressure 等能收到的不同有关鼠标事件对象
3、 创建动画
Paper.js通过调用“onFrame”handler来创建动画。像下面这样定义:
function onFrame(event) {
// Your animation code goes in here
}
动画的可以用onFrame handler创建包或旋转、移动,颜色效果和路径段动画等等
下面的代码创建并3度旋转顺时针方向的矩形
// Create a rectangle shaped path with its top left point at
// {x: 75, y: 75} and a size of {width: 75, height: 75}
var topLeft = new Point(75, 75);
var size = new Size(75, 75);
var path = new Path.Rectangle(topLeft, size);
path.strokeColor = 'black';
function onFrame(event) {
// Each frame, rotate the path by 3 degrees:
path.rotate(3);
}
下载paper.js:http://paperjs.org/download/
例子:
官方例子:http://paperjs.org/examples/
风吹蒲公英:http://zgrossbart.github.com/Dandelion/
Paper.js浏览器支持:需要Internet Explorer 9+, Firefox 4+, Safari 5+ or Chrome
Blur 上手 - 建于Hadoop 和 Lucene上的搜索工具
Getting Started with "Blur" - Search on Top of Hadoop and Lucene.
Blur是一个新的Apache 2.0许可的软件项目,提供了建于Hadoop和Lucene之上一个搜索功能。elasticsearch和Solr已经存在,为什么建立新的东西?虽然这些项目运作良好,不过他们没有与一个坚实的Hadoop生态系统集成。Blur始建专门针对大数据,从一开始考虑到可扩展性,冗余和性能,同时利用Hadoop堆栈中已经存在的所有优势。
一年半前,我的项目开始使用Hadoop的数据处理。很早,我们有网络问题,这使我们的HDFS集群网络连接充其量参差不齐。在一个周末,我们逐步失去了在集群的数据节点90中的47个网络连接。当我们在星期一早上的时候,我注意到,MapReduce系统是有点呆滞,但仍在工作。当我检查HDFS中,我看到我们的能力下降了约50%。集群上运行的fsck后,我惊奇地发现,上周末灾难性的失败但似乎文件系统仍然健康。这方面的经验,给我留下了深刻的印象。就在那时,我有个想法,以某种方式利用冗余和HDFS的容错来建立搜索系统的下一个版本,我才刚刚开始(重新)写。
我已经写了一个已在生产系统中几年的分片式Lucene的服务器。 Lucene的工作非常出色,做了一切我们需要的搜索工作。我们面临的问题是,它是运行在大铁箱是不是多余的,并不能很容易地扩展。看到Hadoop的一流的的可伸缩特征后,我决定寻找结合已经成熟和令人印象深刻的Lucene的功能设置与内置在Hadoop平台的可扩展性和冗余。因此这个实验项目Blur被创建。
Blur解决的最大的技术问题/功能:
- 整个数据集的快速大规模索引
- 自动分片Server故障转移
- 通过Lucene的NRT实现近实时更新的兼容性
- Lucene的FDT的文件压缩,同时保持随机存取性能
- Lucene的的WAL(预写日志)提供数据的可靠性
- Lucene直接R/W到HDFS中(seek写的问题)
- Lucene的目录缓存块的随机存取性能
数据模型
在Blur的数据存储在包含行的表中。行必须有一个唯一的行ID,并包含一个或多个记录。记录有一个独特的记录ID(行内唯一)和逻辑上弥补了单个记录的列进行分组的列家族。列包含一个名称和一个值,一个记录可以包含多个列具有相同的名称。
架构
Blur使用Hadoop的MapReduce框架索引数据,Hadoop的HDFS文件系统用于存储索引。Thrift 用于所有的进程间通信同时 Zookeeper 被用于了解系统状态和存储元数据。Blur的架构是由两种类型的服务器进程:
- Blur控制服务器
- Blur分片服务器
分片服务器,从所有当前在线的表提供0个或多个碎片服务。在每个碎片服务器中哪些碎片在线是通过在Zookeeper的状态信息来计算的。如果碎片服务器宕机,通过与Zookeeper的余下的碎片服务器交互检测到故障,并确定他们的丢失的碎片需要从HDFS得到服务。
控制服务器提供了集群单一的入口点(逻辑),撒出查询,收集回复,并提供一个单一的响应。控制器和分片服务器暴露相同的 Thrift API,这有助于方便调试。它还允许开发人员启动一个单一的分片服务器,并与它进行交互,以与大型集群同样的方式。许多控制服务器可以(并且应该)冗余运行。控制器作为网关承担服务于分片服务器所有数据。
更新/加载数据
目前有两种方法来加载和更新数据。首先是通过MapReduce的大量载入,第二个是用Thrift通过突变调用。
大量载入 MapReduce的范例
01.
public class BlurMapReduce {Data Mutation Thrift Example
搜索数据
任何Blur数据模型中的元素是通过正常的Lucene的语义检索:analyzers。Analyzers 定义在Blur表中。
标准Lucene查询语法是搜索 Blur 默认的方式。如果标准语法以外的任何需要,可以直接用Java对象创建一个Lucene的查询,并通过专家查询API提交他们。
行内的列家庭分组允许跨列家庭类似什么,你会得到一个内部联接两个表之间共享相同的键(或在rowid)。对于有多个列家族复杂的数据模型,这使得有一个非常强大的搜索能力。
下面的示例搜索“value”作为一个完整的全文检索。如果我想在列家族"famB"中的单个字段"colA"中搜索“value”,查询应该类似“famB.colA:value”。
读取数据
取数可以通过按行或按记录。通过指定的ROWID或recordid创建一个选择的对象,指定列家庭或你想返回的列。如果没有指定,返回整个行或记录。
现状
Blur正接近它的第一个版本0.1,是相对稳定的。首次发布的候选应是在未来几周内可供下载。在此期间,可以在github上检查出来:
https://github.com/nearinfinity/blur