宇泽的博客

  • 如何禁止Chrome的新书签系统并回滚到老版本书签

    2015-05-11 12:34

    难道没有人觉得Chrome新的书签系统交互很挫吗?我是Chrome书签的重度用户,几乎所有我看到的好东西我都会分类收藏起来。

    但是自从我更新了Chrome,添加书签变成了一件很恶心的事情…

    如果没用过,上个图大家感受下…

    新版Chrome书签 新版Chrome书签

    随便Google了下,原来禁用很简单!

    1. 在Chrome中访问chrome://flags/#enhanced-bookmarks-experiment
    2. 启用增强型书签(Enable Enhanced Bookmarks) 选项,选择为 已停用(disabled)
    3. 重启Chrome

    Ok, 大功告成!一切恢复原来和谐的样子~

    老版Chrome书签 老版Chrome书签

    全文完…

    阅读全文
  • (原创译文)反锯齿--从未被赞美过的英雄

    2015-05-08 19:02

    html5rocks上的一篇好文–antialiasing-101,介绍浏览器中反锯齿的应用的,由于没有中文版本,抽空译了一遍,也搬运过来吧。

    原文地址

    阅读全文
  • 跑得再快,还是要时不时停下回首

    2014-11-23 15:29

    不知不觉的,coding多了,思考却少了。很多东西直接动手就开始写了,渐渐的变成coding时更随着自己的感觉,而不是对知识点的确切认识。

    慢慢的,不知不觉中很多知识点已经是淡忘了,甚至是已经跟别的混淆了而自己还没发现…直到被问起才惊讶的发现自己对很多这些知识点已经记不清楚了。

    虽然有点打击,不过也给了我当头一棒。虽然自己跑得快,但还是要时不时的停下脚步,喘口气,回头看看来的路,再想想以后的路。

    就像春龙说的,一些简单的文章,还是要每隔一段时间拿来看看,可能每一次看都会有新的收获。 好吧,积累,沉淀,fighting!

    阅读全文
  • 关于移动端自适应页面的一些总结

    2014-08-09 17:20

    移动端项目,由于手机屏幕大小不一,基本都需要实现自适应(貌似现在网上流行叫适配)。

    目前个人使用的移动端自适应基本上有这么几种办法:

    • 所有定位用百分比 %
    • 所有单位 em
    • 所有单位 rem

    将自己最近几个项目踩的坑一个一个列一列,做个总结。

    阅读全文
  • 由setTimeout引发的JS引擎运行机制的研究

    2014-08-08 22:53

    太久没碰代码了,那天想到关于循环调用setTimeout实现每隔一秒输出递增的数的那个问题,搞了搞,发现很多概念模糊了,在此总结下。

    阅读全文
  • 封装模拟mouseenter和mouseleave事件,兼容IE6+和现代浏览器

    2013-10-06 13:50

    最近要写一个使用原生JS的页面,需要用到 mouseentermouseleave 事件。

    (补充:因为如果直接使用 mouseoutmouseover ,当鼠标经过你注册元素的子元素时,也会触发这俩事件并冒泡给你注册的元素,导致多次触发。)

    以前就有写过模拟 mouseentermouseleave 事件的函数,主要原理是还是给元素注册 mouseoutmouseover 事件,但是当触发时判断事件的 e.relatedTarget ,判断是否是由子元素冒泡上来的,如果不是,才调用 handler

    但是在IE下测试时发现问题,原因是IE不支持 event.relatedTarget ,需要使用 mouseoutevent.toElementmouseoverevent.fromElement

    于是乎重新封装了下,测试成功,兼容IE6+和其他现代浏览器。

    阅读全文
  • 神奇的JS连续赋值语句

    2013-09-20 15:28

    无意中看到这么一个很诡异的问题:

    var a = {n:1};
    a.x = a = {n:2};
    console.log(a);//Object {n: 2}
    console.log(a.x);//undefined
    

    按照我的了解,JS中,赋值语句返回的是表达式右边的值,而连续赋值语句的运算顺序是从右自左,那么这个表达式应该是这样运行的:

    a.x = (a = {n:2});
    

    其中 a = {n:2} 返回 {n:2} ,然后进行 a.x = {n:2};

    但是事实上不是这样,真是百思不得其解啊!研究调试了半天,发现这里有一个引用的指向问题。

    阅读全文
  • 关于clearfix清除浮动等导致父容器高度塌陷的细节

    2013-09-05 18:49

    因为项目常常要求快速开发,Bootstrap前端框架用的比较多,里面写好了很多class,可以直接拿来用,很方便。

    而其中有一个类:.clearfix ,是使用最多的类之一,它可以用来清除由于内部元素float导致的父容器高度塌陷问题。

    我们先来看看它的写法:

    .clearfix {
      *zoom: 1;
    }
    
    .clearfix:before,
    .clearfix:after {
      display: table;
      line-height: 0;
      content: "";
    }
    
    .clearfix:after {
      clear: both;
    }
    

    这种写法,常叫做“micro clearfix hack”,效果我们试试都知道,并没有问题,但是对这其中的原理我想很多人可能比较迷惑,比如说为毛要用 display:table

    参阅Nicolas Gallagher的一篇文章《A new micro clearfix hack》,文章中解释了为什么使用 :before ,为什么使用 display:table ,等等。

    别小看这个 .clearfix ,看起来就这么几行,涉及的东西还真不少。

    阅读全文
  • JS,数组,伪数组与对象

    2013-09-02 16:07

    我们都知道,数组与对象非常的相似,但它们还是有区别的。

    虽然在JS中任何变量都是对象,(除了null和undefined),但是Array对象有它自己的特性:

    1. 它从 Array.prototype 中继承了一些它的专属方法,如 push() , pop() , sort() , slice() , splice() 等,这些方法在Object对象中是没有的。
    2. 它有属性length,等
    阅读全文
  • 推荐一本书--《我当道士那些年》,作者:仐三

    2013-08-21 01:57

    书讲述的是一个道士的一生,你可以把它当作是一本普通的小说看,一样非常好看!

    而对于我来说,它的意义已经远远不是一本书那么简单了。

    不管你信不信鬼神,反正我是信的。全人类的所有认知的总和,只不过占到这个宇宙的5%不到,所以我们对待未知事物应该持怀疑态度,而不是否定的态度。

    阅读全文

Previous

Next