强大的margin负边距 发表于 2015-08-01 css中的负边距(negative margin)是布局中的一个常用技巧,只要运用得合理常常会有意想不到的效果。很多特殊的css布局方法都依赖于负边距,所以掌握它的用法对于前端的同学来说,那是必须的。本文非常基础,老鸟可以略过。 左和右的负边距对元素宽度的影响 负边距不仅能影响元素在文档流中的位置, ... 阅读全文 »
requestAnimationFrame 发表于 2015-07-08 在Web应用中,实现动画效果的方法比较多,JavaScript 中可以通过定时器 setTimeout 来实现,css3 可以使用 transition 和 animation 来实现,html5 中的 canvas 也可以实现。除此之外,html5 还提供一个专门用于请求动画的 API,即 re ... 阅读全文 »
算法的时间复杂度和空间复杂度 发表于 2015-06-22 1 - 算法 算法的定义是这样的:解题方案的准确而完善的描述,是一系列解决问题的清晰指令。巴拉巴拉的,虽然是一小句但还是不想看(题外话:有时候吧专业名词记下来面试的时候还是挺有用的),其实就是解决一个问题的完整性描述。只不过这个描述就可能是用不同的方式或者说是“语言”了。 2 - 算法的效率 既然算 ... 阅读全文 »
从你在浏览器输入一个网址.... 发表于 2015-06-01 从你在浏览器输入一个网址…我们在面试的时候或许经常会被问到: 从你在浏览器输入一个网址到网页内容完全被展示的这段时间内,都发生了什么事情? 确实是个老生常谈的问题,但问题的答案并不是唯一的,或许在三五年前,这个问题还会有一个「相对」标准的答案。 浏览器在接收到这个请求时,会开启一个单独的线程来 ... 阅读全文 »
CSS等比例缩放的盒子 发表于 2015-05-19 你肯定已经知道,对于一个 img 元素而言,你可以单独地修改它的 width 或者 height 属性来设置它的大小,同时图片的比例还能够保持不变。 如下图所示,最上面是原始大小的图片,下面两张则分别是设置了 width: 50% 和 height: 50% 属性后的样子。 可以看到把宽度设置为了 ... 阅读全文 »
Ajax与Comet 发表于 2015-04-26 服务器有新消息主动推送给客户端浏览器 下述内存主要讲述了《JavaScript高级程序设计(第3版)》第21章关于“Ajax与Comet”。 Ajax(Asynchronous JavaScript + XML的简写)可以向服务器请求数据而无需卸载(刷新)页面,带来更好的用户体验。Ajax技术的核 ... 阅读全文 »
CSS content属性 发表于 2015-04-17 写在前面css博大精深,很多属性,往往都是看似熟悉,但是似乎又不能将其特性和用法完整地说出来。 content属性,的确是很眼熟,也许很多童鞋和我一样,和它初次见面,是在清除浮动的时候: .clearfix:after{ content: "."; display ... 阅读全文 »
十大经典排序算法 发表于 2015-01-02 算法概述算法分类十种常见排序算法可以分为两大类: 非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间 ... 阅读全文 »
JavaScript核武库 发表于 2015-01-01 以下是个人总结,也有一些是copy大神的,现在放到一起,方便以后查阅(有不对的地方,还望大家能够提出,我会尽快加以改正)。 !!强制转boolean根据真值,假值 判断,返回true,false假值: 0 “” null undefined false NaN 例如: var nu ... 阅读全文 »
原生 JS 汇总 发表于 2015-01-01 JS选取DOM元素的方法 注意:原生JS选取DOM元素比使用jQuery类库选取要快很多 1、通过ID选取元素 document.getElementById('myid'); 2、通过CLASS选取元素 document.getElementsByClassName(&apo ... 阅读全文 »