CSS3 实现人物赛跑动画

Create at 2015 05 217 min read技术CSS3奔跑

最近公司的一个手机项目里面有一个动画,就是一个人在跑道上跑步。为了能在手机端发挥更好的性能,选择了全部用 CSS3 来做一个动画。 因为是第一次做,碰到了很多问题,记录下来。

效果图是这样的: All

分析

拿到效果图先分析一下,可以看到动画分为一下四个部分:

  • 跑动的小人
  • 运动的路
  • 左边的路牌
  • 收益的牌子

小人

小人很好解决,通过使用一张跑步的分解图片, person 然后通过逐帧的变动它的`background-position'就可以了,真是简单啊。

.person {
    width: 62px;
    height: 110px;
    background: url(../imgs/p

js函数表达式和函数声明的区别

Create at 2015 02 092 min read技术JavaScript

JavaScript中的两种函数定义方式:

函数表达式:

var foo = function(){
	conlose.log('Message');
};

函数声明:

function foo(){
	console.log('Message');
};

两种方法都可以定义一个相同的函数,但是却有一些区别:

函数表达式中:

var foo和一般的var定义的变量一样被提到了函数或脚本顶部,但是函数体却还是在原来的地方。所以必须在函数体后调用函数。

var foo = function(){
	console.log('Message');
};
foo() 	// 输出结果为'Message'

foo();
var foo = function(){
	console.log('Messag

jQuery插件-changeBg

Create at 2015 02 081 min read技术JavaScriptjQuery

把上篇博客中写的 jQuery 题改进了一下,做成了一个新插件ChangeBg。 可以给某标签下的所有奇数行的子元素(注意:是子元素,而非后代元素)设置背景颜色,同时给所有子元素添加鼠标移入移出时更改背景和字体颜色的事件。

  • bgCol 奇数行要设置的背景颜色,默认为'#EEE'
  • chBgCl 鼠标移入时背景颜色,默认为'#0066CC'
  • chCol 鼠标移入时的字体颜色,默认为'#FFF'

下载请点我

前端面试题(1)

Create at 2015 02 068 min read技术面试题JavaScript

在群里有人分享了一套试题,拿来练练手。

1、请用 HTML5 标准完成以下布局

图1

HTML:
	<header>HEADER</header>
	<nav>NAV</nav>
	<aside>ASIDE</aside>
	<section>SECTION</section>
	<footer>FOOTER</footer>
CSS:
	body{
		color: white;
		font-size: 14px;
		text-align: center;
	}
	header{
		background-color: black;
	}
	nav{
		background-color: gray;
	}
	aside{
		width: 30%;
		height: 2

快速排序的实现

Create at 2015 01 304 min read技术算法

快速排序是一种经常用到的排序方法,它的时间复杂度为 O(nlogn)。因为大多数情况下速度都比一般的排序方法快,用的比较多,自己就琢磨着实现了一下。

原理

快速排序用到了分治法的原理:   从数组中随机取出一个数字,将这个数组分为两个部分。将取出的数字作为基准数,小于基准数的放到它的左边,大于基准数的放到它的右边。这样基准数左边的都是比它小的,右边的都是比它大的。然后再对基准数的左边和右边重复前面的过程,直到每个部分的数组长度为 1。最后再将这些分开的数组组合起来就成功了。步骤如下:

  1. 从数组中随机抽取一个数组作为基准数,将数组中的每个数字与基准数比较,小于基准数的放到基准数左边,大于基准数的放到基准数右边。
  2. 对上面结束后的左右两个部分重复步骤 1。
  3. 当所有部分的长度为 1 时停止。

实现

下面是自己熟悉的语言的实现(用第一个数作为基准数,并且采用递归的方法):

Python 版本

Read more

硬盘文件整理

Create at 2015 01 305 min read技术文件管理

看着自己电脑里的文件越来越多,文件的存放也变越来越混乱,如何整理文件成了一个大问题,是该花点时间好好整理整理了。

磁盘分区

我的电脑是两个硬盘,一个 128G 的固态和 650G 的机械硬盘,分别设置为 C 盘和 D 盘两个盘。其中。

  • C 盘:安装系统和所有的应用软件。
  • D 盘:用来存放数据,包括文档、音乐、电影等。

为什么不设置 E、F 等多个分区呢,因为多分区会造成空间的浪费。举个例子:假设有一个 600G 的硬盘,分为 C、D、E 三个分区,其中 C 盘 100G,D 盘 200G,E 盘 300G。然后 C 盘放了 95G,D 盘放了 198G,E 盘放了 287G。现在有一个大小为 20G 的文件,你说你放哪?C、D、还是 E?哪里都不放下,可是明明 600G 的空间,我现在只用了 580G,明明还有 20G 的空余空间。可是就是没地方放。这就是多分区造成的空间浪费,所以为了空间最大化利用,就是分最少的区。理想情况下,只存在一个 C 盘就够了。可是有的时候系统出问题需

网易云课堂考试题-python

Create at 2015 01 292 min read技术python

题目内容:

两位整数相乘形成的最大回文数是 9009 = 99 × 91。编写程序,求得任意输入的 n 位整数相乘形成的最大回文数。 输入格式: 正整数 n 输出格式: n 位整数相乘形成的最大回文数 输入样例: 2 输出样例: 9009

程序:

    def is_palindrome(num): 	#判断是否是回文
    	n = str(num)
    	if n == n[::-1]:
    		return True
    	else:
    		return False

    n = int(input())

    a = 1
    arr1 = []
    arr2 = []
    while len(str(a)) < n + 1: 		#将n位数的数字加到数组中,同时抛弃n-1位数
    	if len(str(a)) > n - 1:
    		arr1.append

翘边阴影制作方法

Create at 2015 01 262 min read技术CSS3

一些特殊阴影的制作方法,其实就是将多个图形叠加在一起,然后通过z-index调整前后顺序,最后实现效果翘边阴影

HTML:

<li><img src="img/1.gif" alt="img" /></li>

CSS:

li::after {
  content: "";
  width: 90%;
  height: 80%;
  left: 1.6%;
  bottom: 4.6%;
  position: absolute;
  background-color: transparent;
  box-shad

css3选择器整理

Create at 2015 01 225 min read技术CSS3学习笔记

属性选择器

  • E[att^="val"]:选择att属性值以val开头的 E 元素。
  • E[att$="val"]:选择att属性值以val结尾的 E 元素。
  • E[att*="val"]:选择att属性值包含val的 E 元素。

结构性伪类选择器

:root: 根选择器,匹配元素所在文档的根元素。在HTML中,根元素始终为<html>:not : 否定选择器,选择某元素以外的所有元素。下面的代码,最终会为