整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

Wordpress建站教程:给Blocks CSS插件降级,解决不兼容问题

者:悦然wordpress建站(悦然建站)

(此处已添加小程序,请到客户端查看)


继续分享wordpress建站教程。悦然wordpress建站之前给大家推荐过一个古腾堡区块的CSS插件-Blocks CSS,使用它可以直接在文章或页面编辑时添加CSS效果,非常方便。


但是最近我发现这款插件在更新之后对目前的wordpress版本不兼容,里面设置的区块CSS效果不能生效,别的插件更新都是做好兼容和优化,没想法这个插件居然做负优化!接下来悦然就教大家通过降级来解决这款插件的不兼容问题,关于wordpress插件降级的方法本站之前发过教程,大家可以去看看。

Wordpress建站教程:插件降级



接下来我们直接到wordpress插件中心搜索Blocks CSS,在【高级视图】中选到这个插件的低版本。因为我不太确定哪个版本才是正常的,所以我选的是最初安装的版本【1.1.2】,下载之后通过wordpress建站后台安装,或者是通过FTP上传安装。安装好低版本的Blocks CSS插件,我对上面的图片设置了一个CSS滚动效果,终于正常了。


​因为我们安装了低版本的wordpress插件,所以wordpress后台会提示更新,但是我们又不需要更新,怎么办呢?我们可以修改Blocks CSS插件的版本号,如上图所示把它的数字改大一点,刷新之后更新提示就没有了。

天我们学习的内容有:过渡,动画,转换,伸缩盒子。

可以说今天学习的内容都是重量级的大佬,学好了,使用css3做出酷炫的效果 So Easy!~~

1.过渡

在css3中,有一个属性可以设置过渡效果。

它就是transition,所谓的过渡效果,指的就是以动画的形式慢慢演化样式属性变化的过程。

A.案例:通过transition设置焦点过渡效果

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Document</title><style>div{width: 200px;height: 200px;margin:200px;background: url(girl.jpg);border-radius:50%;transition:all 1s linear 0.3s;cursor: pointer;}div:hover{box-shadow: 0px 0px 20px blue;}</style></head><body><div></div></body></html>

注意页面中的代码:

第一,我们给div添加了一个hover伪类样式,当我们鼠标悬停在div上方的时候,会给div盒子添加一个蓝色的盒子阴影。

第二,我们给div盒子添加了一个transition样式,设置的值为:all 1s linear 0.3s;

这四个数据分别对应

transition-property(需要过渡的属性):如果设置为all表示所有样式属性都需要过渡。

transition-duration(过渡的时间):以秒作为单位,设置过渡的时间

transition-timing-function(过渡的方式):常用的有linear(匀速),ease(先慢后快),ease-in,ease-out,ease-in-out等

transition-delay(延迟的时间):以秒作为单位进行延迟,延迟之后开始进行过渡效果。

所以,我们通过transition这个复合属性设置的过渡效果为:

all:需要过渡所有的属性

1s:过渡的时间为1秒

linear:匀速过渡

0.3s:在延迟0.3秒之后开始过渡动画。

如果大家理解了上面的描述,那么也就不难理解咱们鼠标放到div上之后,为啥会慢慢出现蓝色的光晕了,就是因为咱们添加了过渡,所以,慢慢的就会给盒子添加阴影效果。

2.动画:

在学习完了过渡之后,发现咱们可以使用transition去以动画的形式展示样式的改变以及变化的过程,这可以帮助我们来实现一些过渡的动画。

但是,有的时候,我们的需求会更加的复杂,要求会更加的多变,那么,transition可能就无法满足我们的需要了,我们需要有更加炫酷,复杂的效果呈现。

那么,动画animation就可以满足我们的需要。

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Document</title><style>@keyframes moveAndChange{0%{left:0px;top:0px;}25%{left:200px;top:200px;background:green;border-radius: 0;}50%{left:400px;top:200px;background:blue;border-radius: 50%;}75%{left:400px;top:0px;background:#ccc;border-radius: 0;}100%{left:0px;top:0px;background:red;border-radius: 50%;}}div{margin:200px;width: 200px;height: 200px;position: absolute;background:red;border-radius:50%;animation: moveAndChange 5s linear 0.5s infinite normal;}</style></head><body><div></div></body></html>

代码效果如下:

同样,让我们来关注编写的代码:

1.在样式中,首先我们使用@keyframes 来定义了一个复杂的动画,在css3中,新增了@keyframes可以来帮助我们添加动画。代码如下:

/*动画的名字叫做moveAndChange*/

@keyframes moveAndChange{

/*动画最初的时候,将left设置为0px,top设置为0px*/

0%{

left:0px;

top:0px;

}

/*当动画进行到25%的时候,使用动画将left过渡到200px,top过渡到200px,

背景颜色过渡为绿色,圆角过渡为0(无圆角)*/

25%{

left:200px;

top:200px;

background:green;

border-radius: 0;

}

/*当动画进行到50%的时候,使用动画将left过渡到400px,top过渡到200px,

背景颜色过渡为蓝色,圆角过渡为50%(正圆)*/

50%{

left:400px;

top:200px;

background:blue;

border-radius: 50%;

}

/*当动画进行到75%的时候,使用动画将left过渡到400px,top过渡到0,

背景颜色过渡为灰色,圆角过渡为0(无圆角)*/

75%{

left:400px;

top:0px;

background:#ccc;

border-radius: 0;

}

/*当动画结束的时候,使用动画将left过渡到0x,top过渡到0px,

背景颜色过渡为红色,圆角过渡为50%(正圆)*/

100%{

left:0px;

top:0px;

background:red;

border-radius: 50%;

}

}

这是一个比较复杂的动画效果,可以发现,它通过百分比的形式将一个完整的动画拆分成了5个部分,每个部分都有不同的样式效果,而当我们采用该动画的元素就会按照设置的顺序和样式效果进行动画的过渡和展示。

2.上面我们只是通过@keyframes创建了一个动画,我们还需要通过特定的语法来使用这个动画。

就是下面这句代码了:

animation: moveAndChange 5s linear 0.5s infinite normal;

它是一个复合属性,设置了6个值,分别对应:

animation-name(设置动画的名称):用来设置动画的名字,我们这里写的是moveAndChange ,也就是说我们就是要使用我们刚刚创建的动画。

animation-duration(设置整个动画的时间):以秒作为单位,我们这里写的是5s,表示整个动画的时间为5秒

animation-timing-function(设置播放动画的方式):播放动画的方式,常用的有linear(匀速),ease(先慢后快),ease-in,ease-out,ease-in-out等,我们使用的是linear匀速播放动画。

animation-delay(设置动画的延迟):以秒作为单位,我们写的是0.5s,表示延迟0.5秒之后开始播放动画。

animation-iteration-count(设置动画播放的次数):播放动画的次数,我们这里写的是infinite ,表示动画将会被播放无限次,如果写数字,那么就会播放数字对应的次数。

animation-direction(设置是否反向播放动画):我们写的是normal,表示正常播放动画,如果写的是

alternate则表示要反向播放动画,大家也可以自己试一试这个效果。

最终,我们通过@keyframes创建动画,通过animation设置动画,成功完成了这个复杂的动画效果。

3.转换

在css3中,我们通过transform属性可以设置元素的转换效果,具体的效果如下:

A.平移

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Document</title><style>body{background:pink;}div{width: 200px;height: 200px;position: absolute;background: green;left:0px;top:0px;transform: translate(300px,300px);}</style></head><body><div></div></body></html>

代码效果如下:

如上图所示,本来div盒子的位置是left:0,top:0;

但是我们通过transform: translate(300px,300px);将盒子进行了偏移,所以,盒子的位置发生了改变。

B.旋转

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Document</title><style>body {background: pink;}div {width: 200px;height: 200px;margin: 200px;position: absolute;background: green;left: 0px;top: 0px;transform: rotate(45deg);}</style></head><body><div></div></body></html>

代码效果如下:

如上图所示,本来div盒子应该是四四方方的。

但是,经过我们的代码transform: rotate(45deg); //deg为单位,表示度数。

进行了45度的旋转之后,呈现出来的就是一个菱形的盒子了,旋转的正方向为顺时针,负方向为逆时针。

C.缩放

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Document</title><style>body {background: pink;}div {width: 200px;height: 200px;margin: 200px;position: absolute;background: green;left: 0px;top: 0px;transform: scale(0.5,0.25);}</style></head><body><div></div></body></html>

代码效果如下:

如上图所示,本来盒子的宽高为200*200,而我们通过transform: scale(0.5,0.25);进行的缩放

scale的第一个参数为0.5,表示横向缩小为0.5倍

scale的第二个参数为0.25,表示纵向缩小为0.25倍。

scale的参数如果为1,则表示不进行任何缩放,小于1就是做缩小,而大于1表示做放大。

小结:transform转换中其实还包含了skew(倾斜),matrix(矩阵转换),相对来说用到的不是特别多,所以在本文中我们便不再做介绍。

4.flex布局

Flex布局,可以简便、完整、响应式地实现各种页面布局。

Flex是Flexible Box的缩写,翻译成中文就是“弹性盒子”,用来为盒装模型提供最大的灵活性。任何一个容器都可以指定为Flex布局。

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Document</title><style>div{box-sizing: border-box;}.parent {width: 600px;height: 200px;margin: 100px;position: absolute;background: green;left: 0px;top: 0px;display: flex;justify-content: flex-start}.parent div{width: 20%;border:1px solid #ccc;background:pink;}</style></head><body><div><div>1</div><div>2</div><div>3</div><div>4</div></div></body></html>

代码效果如下:

如图所示,咱们通过display:flex将.parent元素设置为了flex盒子,那么子元素将会按照justify-content设置的方式进行元素的排列,目前看来,和我们没有设置flex盒子的效果是一致的。

接下来我们更改一下,将justify-content设置为flex-end,效果如下图所示:

所以我们就应该发现,flex-start是让所有的子元素从父元素的左侧开始排列

而flex-end是让所有的子元素从元素的右侧开始排列。

我们再来更改一下,将justify-content设置为center,效果如下图所示:

更厉害了,子元素在父盒子的中央位置排列显示了。

然后,我们再将justify-content设置为space-around,效果如下图所示:

它是平均分配的形式为每一个子元素设置了间距,但是看起来有点变扭。

所以我们推荐将justify-content设置为space-between,效果如下图:

我们还可以通过flex-wrap来设置子元素是否换行显示,以及flex-direction设置子元素排列的顺序。

这两个属性可以设置的值如下:

flex-wrap: nowrap;//不换行,会自动收缩

flex-wrap: warp;//换行,会自动收缩

flex-wrap: warp-reverse;//反转,从默认的从上到下排列反转为从下到上。

flex-direction:row; //从左至右一行一行进行子元素的排列

flex-direction:column; //从上到下一列一列进行子元素的排列

flex-direction:row-reverse; //从右至左一行一行进行子元素的排列

flex-direction:column-reverse; //从下到上一列一列进行子元素的排列

案例代码如下:

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Document</title><style>div{box-sizing: border-box;}.parent {width: 600px;height: 200px;margin: 100px;position: absolute;background: green;left: 0px;top: 0px;display: flex;justify-content: space-between;flex-wrap: nowrap;flex-direction: row-reverse;}.parent div{width: 20%;border:1px solid #ccc;background:pink;}</style></head><body><div><div>1</div><div>2</div><div>3</div><div>4</div><div>5</div><div>6</div></div></body></html>

我们设置了flex-wrap: nowrap;(不换行,压缩所有的子元素在一行中显示),以及flex-direction: row-reverse;(反向排列)

代码效果如下:

如果设置为flex-wrap: warp(换行显示无法在一行显示的子元素),则效果如下:

如果将flex-direction: column;,则会纵向排列元素,效果如下图:

除了上面的这些给伸缩盒子父元素设置的样式之外,我们还可以可以伸缩盒子的子元素设置flex属性,用来设置平均分配整个父盒子的空间。

代码如下:

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Document</title><style>div{box-sizing: border-box;}.parent {width: 600px;height: 200px;margin: 100px;position: absolute;background: green;left: 0px;top: 0px;display: flex;justify-content: space-between;}.parent div{flex:1;width: 20%;border:1px solid #ccc;background:pink;}</style></head><body><div><div>1</div><div>2</div><div>3</div><div>4</div></div></body></html>

效果如下:

如上图所示,每个盒子平均分配了父盒子的空间,原本宽度为20%,现在被拉伸了。

除此之外,咱们还可以使用flex属性进行进一步的设置,代码如下:

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Document</title><style>div{box-sizing: border-box;}.parent {width: 600px;height: 200px;margin: 100px;position: absolute;background: green;left: 0px;top: 0px;display: flex;justify-content: space-between;}.parent div:nth-of-type(1){flex:1;border:1px solid #ccc;background:red;}.parent div:nth-of-type(2){flex:2;border:1px solid #ccc;background:green;}.parent div:nth-of-type(3){flex:2;border:1px solid #ccc;background:blue;}.parent div:nth-of-type(4){flex:1;border:1px solid #ccc;background:pink;}</style></head><body><div><div>1</div><div>2</div><div>3</div><div>4</div></div></body></html>

效果如下图:

我们分别给四个子盒子设置了flex:1 , flex:2, flex:2 ,flex:1.

这是什么意思呢?

四个flex加起来一共是6.那么第一个盒子就占据整个父盒子的1/6宽度。

同理,另外三个盒子分别占据2/6,2/6,1/6的宽度,所以就形成了我们现在看到的效果。

原文来源于:黑马程序员社区


学习资源:

想学习css,可以关注:黑马程序员头条号,后台回复:css

本样式对齐文本text-align属性用于指定文本块的对齐方式,可选值包括: 1)start:内容对齐开始边界,默认; 2)end:内容对齐结束边界; 3)left:内容左对齐; 4)right:内容右对齐; 5)center:内容居中对齐; 6)justify:内容两端对齐。当text-align属性使用了justify值时,可以使用text-justify属性指定文本添加空白的方式,这个属性...
了解了包的概念,就可以系统的介绍Java中的访问控制级别。在Java中,针对类、成员方法和属性提供了四种访问级别,分别是private、default、protected和public。 权限访问修饰符(权限从大到小依次往右排) public(公共) protected(受保护) default(缺省) private(私有) 同一个类 √ √...
Rust 提供了代码封装的机制。可以通过crate (等同于Java中的package)创建相对独立的module模块,模块中封装了可以重复使用的功能函数。当创建了自己的 lib 库或者要使用第三方的库的时候(这些库就是一些事先写好的crate)需要将这些库中的module 模块引用到当前的环境中。Rust提供了以下几种引用方式:一、使用 extern crate在使用这些Module的文件中,通过...
填空题: 他______牺牲生命_______出卖组织? 据数据统计,不同年代的同学回复的最多的是….. 60后,他宁可牺牲生命,也不出卖组织。 70后,他害怕牺牲生命,所以出卖组织。 80后,他与其牺牲生命,不如出卖组织。 90后,他即使牺牲生命,也要出卖组织。 00后,他白白牺牲了生命,忘了出卖组织。 上边的案例,引发了大家对”自我与企业关系的思考”. 能力与欲望...
历届试题 国王的烦恼 时间限制:1.0s 内存限制:256.0MB 问题描述 C国由n个小岛组成,为了方便小岛之间联络,C国在小岛间建立了m座大桥,每座大桥连接两座小岛。两个小岛间可能存在多座桥连接。然而,由于海水冲刷,有一些大桥面临着不能使用的危险。 如果两个小岛间的所有大桥都不能使用,则这两座小岛就不能直接到达了。然而,只要这两座...
go test命令参数问题在使用go test对go代码进行单元测试的时候,遇到关于命令参数的问题,google了一下,没有找到很好的说明,其实就是一些细节而已。问题是这样的,在进行单元测试的时候,我希望输入一些命令行参数来控制程序的运行。 参考go官方文档,只需要在go test后面加上-args和参数就可以了 例如 go test -args -classpath E:\testcase...
阿里云OSS-使用经验总结,存储,账号-权限,分页,缩略图,账号切换最近项目中,需要使用云存储,最后选择了阿里云-对象存储服务OSS。总的来说,比较简单,但是仍然遇到了几个问题,需要总结下。1.OSS总的使用介绍 https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_object.html?spm=5176.docoss/...
WEB应用图片的格式,以及各自的特点和优化(一) by FungLeo前言12年前我入行三天.用table布局做了一个非常粗糙的网页.我说了一句话,”网页就是表格加文字加图片,图片分两种,插入图片和背景图片”.这句话在今天看来,当然是一个笑话.但是当时我说出这句话的时候,当时的那些前辈都非常认可我的总结,并且认为我很有从事网络发展的潜力啊.哎,要不是他们的鼓励,说不定我早转行了……扯远了.说回正题,...
1. 单表数据的导出针对单表数据的导出操作,MongoDB 提供了 mongoexport 命令。mongoexport 既可以将数据导出为 CSV 格式的文件,也可以导出 JSON 格式的文件。这两者之间的区别是:JSON 是 mongoexport 默认的导出格式,不需要指定,而要导出 CSV 格式的话需要明确指定;导出 CSV 格式必须显式指定各属性名,而导出 JSON 格式不需要。由此可见...
商业智能对于中小企业来说,由于其高昂的费用和运行维护技术水平要求高,往往难以承受,商业智能SAAS系统平台+模块的创新模式的出现能帮助中小企业走上商业智能之路。...
stack.sh给出了一个非常好的例子,关于学习openstack创建 1.检查devstack文件,检查bash4.2以上,检查用户,不能是root2.准备环境,导入函数3.检查local.conf和localrc是否都存在,如果存在使用localrc4.检查是否已经运行devstack5.代理设置和禁用无效服务6.配置sudo7.配置distro库8.配置目标目录,创建目标目录9.配置主机、日...
博客地址:http://blog.csdn.net/FoxDave本文介绍如何利用SharePoint客户端对象模型(.NET)逐级获取Office 365网站中List的内容,仅仅是示例,没有讲究太多东西。代码如下:ClientContext ctx = new ClientContext(""); ctx.Credentials = new SharePointOn...
题外话Atom,风风雨雨走过一年多了.,目前最新版本是V1.7.0 .社区还是相当活跃;体验也改善了很多;但是性能上还是欠缺;今天我再来介绍自己常用的一款插件git-control插件介绍 官方介绍页面 作者: jacogr Github地址 我的介绍 就是命令行的GUI版本,,有些类似sourcetree,但是不如它强大,日用满足使用在编辑器下加载git版本的工作目录;工具默认启用快捷键...
安装devstack后,如果没有设置参数,执行openstack命令是不成功的。1.登录到horizon页面,使用admin登入,进入project->compute-> Access&Security -> API Access,记录下Service Endpoint。或选择download OpenStack RC File按钮,下载demo-openrc.sh文件2.将demo-openrc...
对于这样的问题,看到第一眼就是暴力破解,所以也就递归找到所有情况,再筛选出合格的小明被劫持到X赌城,被迫与其他3人玩牌。 一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。 这时,小明脑子里突然冒出一个问题: 如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?思路: 首先无论怎么取,手牌为13张的时候结束.也就是递归结束标...
网红和粉丝经济,是最近几年流行起来的概念。 截至目前,有一些初步的认识,整理成文。 粉丝,最早是明星的跟随者比较多。 我的理解是,对于一个人物、动物、运动等,有着共同的兴趣,从而建立多个人和一个人之间的关系,比如粉丝和明星。 粉丝经济,大获成功的标志是,雷军和小米科技。在创业早期,就把粉丝经济和社交传播结合在一起,低成本地实现了全网营销。从此以后,各大手机厂商等很多领域的企业,都...
关于android端apk退出方式的设计,现在大体只有下面几种:1,有退出和取消按钮;2,一定时间内两次返回为退出;3,一次返回就是退出。首先可以看到这两个用按钮的,退出都在左侧,设计者肯定没有看过十年前雅虎研究院出的web端设计指导,下一步的操作一定是在右侧,而返回上一步的操作是在左侧。但是到了移动端应该考虑用户是左手还是右手使用,也就是说,如果是左手使用,这个位置设计没有问题,反之就不用说了。...
写在最前:本文主要描述在网站的不同的并发访问量级下,Mysql架构的演变可扩展性架构的可扩展性往往和并发是息息相关,没有并发的增长,也就没有必要做高可扩展性的架构,这里对可扩展性进行简单介绍一下,常用的扩展手段有以下两种Scale-up : 纵向扩展,通过替换为更好的机器和资源来实现伸缩,提升服务能力Scale-out : 横向扩展, 通过加节点(机器)来实现伸缩,提升服务能力对于互联网的高并...
angular.js中,指令是最基础的也是最重要的工具之一。angular.js指令指的是以ng为前缀的HTML属性。在之前的ng-app、ng-model等,都属于指令。 angular.js中的基本指令包括如下内容: · 1.ng-app/ng-model ng-app指令用于声明angular,js的作用范围,ng-model用于声明模型。这些在之前都已经进行过详细介绍。 2.ng-...
java编码 当你的字节序列是某种编码时,这个时候想把字节序列变成 字符串,也需要用这种编码方式,否则会出现乱码 文本文件就是字节序列 可以是任意编码的序列,如果在中文机器上直接创建文本文件,那么该文本文件 只认识ANSI编码 案例: public class Bianma { public static void main(Strin...
调试JDK源码-一步一步看HashMap怎么Hash和扩容调试JDK源码-ConcurrentHashMap实现原理调试JDK源码-HashSet实现原理调试JDK源码-调试JDK源码-Hashtable实现原理以及线程安全的原因 ConcurrentHashMap线程安全的总结是我从源码分析出来的:ConcurrentHashMap所谓线程安全是哈希冲突的时候新增的节点是线程安全的,而 Conc...
对于后台系统的搜索进行UI自动化,主要是比对页面查询结果是否与预期一致(即数据库查询结果) search.py# -*- coding:utf8 -*- import HTMLTestRunner import time import unittest import public from selenium import webdriver class Search(unittest.TestCa...
ajax 的全称是Asynchronous(异步的意思) JavaScript and XML,是一种创建交互式网页应用的网页开发技术 ajax技术的流行得益于google的大力推广,正是由于google产品对ajax技术的广泛应用,使得ajax流行起来了。 Ajax其核心有JavaScript、XMLHTTPRequest、DOM对象组成,通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用JavaScript来操作DOM而更新页面。这其中最关键的一步就是从服务器获得请...
一、SpringMVChttp://blog.csdn.net/evankaka/article/details/45501811Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简...
概念: 优化策略:字段选择性 选择性较低索引 可能带来的性能问题索引选择性=索引列唯一值/表记录数;选择性越高索引检索价值越高,消耗系统资源越少;选择性越低索引检索价值越低,消耗系统资源越多;查询条件含有多个字段时,不要在选择性很低字段上创建索引可通过创建组合索引来增强低字段选择性和避免选择性很低字段创建索引带来副作用;尽量减少possible_keys,正确索引会提高sql查询速度,过多索引...
一. 什么是Spark? Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需...
相比之前的增改查,删除就显得简单的多了。 这里的request的type为delete,删除成功的status为204,404则是要删除的记录不存在 var id = 'BAD90A95-7FEA-E511-9414-ADA183AB6249'; $.ajax({ async: false, type: "DELETE ", co...
关于JPush极光推送是国内的服务厂商提供的一站式push服务(同时支持iOS、android),后面也加入了即时通讯的能力供app使用。致力于打造简单、可靠、价格有竞争力的服务(简单功能全免费,高级版才收费),让应用开发商可以聚焦业务开发,push相关的技术实现全部通过极光推送来解决,仅需调用极光推送的api即可。正因为如此,开发者小伙伴们对其的评价相当不错。笔者的app新增了从服务器往移动客户端...
Mapreduce初析 Mapreduce是一个计算框架,既然是做计算的框架,那么表现形式就是有个输入(input),mapreduce操作这个输入(input),通过本身定义好的计算模型,得到一个输出(output),这个输出就是我们所需要的结果。 重点就是这个计算模型的运行规则。在运行一个mapreduce计算任务时候,任务过程被分为两个阶段:map阶段...
Jquery对象常用的方法:$(”p”).addClass(css中定义的样式类型); 给某个元素添加样式 $(”img”).attr({src:”test.jpg”,alt:”test Image”}); 给某个元素添加属性/值,参数是map $(”img”).attr(”src”,”test.jpg”); 给某个元素添加属性/值 $(”img”).attr(”title”, function(...