归档: 2016/3

0

总结圣杯布局和双飞翼布局

很久以前就知道这两个布局,但一直觉得这两个布局有点奇怪,可能是因为以前没有用过这种方法。但是因为兼容会很好,而且可以自适应中间区块,所以好像还是很多人用。今天动手写了demo,虽然比较容易就能做出来,但这里面的有些地方还是感觉怪怪的,最后有我的不明白的地方。下面是具体的两种写法以及区别。 圣杯布局圣杯布局是一种常用的网页布局,他可以由现有的技术来实现,现有的布局多多少少都有些缺点,所以找到一种最

0

HASH 哈希

生活中的hash应用安全领域的hash值比如计算机的登陆密码,一般是一串字符。然而,为了安全起见,计算机不会直接保存该字符串,而是保存该字符串的hash值(使用MD5、SHA或者其他算法作为hash函数)。当用户下次登陆的时候,输入密码字符串。如果该密码字符串的hash值与保存的hash值一致,那么就认为用户输入了正确的密码。这样,就算黑客闯入了数据库中的密码记录,他能看到的也只是密码的hash

0

今日算法小练习,排序与查找

从小做起,以后每天定时写几个js算法,并且做总结打卡。今天写了几个简单的排序和查找,还买了一本书,《算法导论》,接下来的2个月的目标就是它啦,加油。 快速排序快速排序的思想是分治,比如这里[3,4,1,5,6,9]这样一个数组,先选一个轴,比如说是起点,然后先从右向左找到比这个轴小的数,并把这个小数覆盖掉轴的位置。这时候原来小数的位置可以当成是空,然后再以轴为中心从左往右找,找到比轴大的数,再把

0

js小例子之自定义右键菜单和jquery拖动元素

总结两个小实例,一个是jquery拖动元素,一个是js自定义右键菜单。感觉jquery的API都快忘了,所以又写了个jquery的。 js自定义右键菜单我大概的想法是先隐藏列表菜单,当监听到oncontextmenu时,显示列表并定位到鼠标点击的地方。当页面有点击事件的时候,再来让列表显示。 这里可以用preventDefault或者return false;来阻止右键的默认行为。 代码如下:1

0

http真的是阻塞的吗?

今天总结我的一个错误,有个面试官问我优化的方法,然后我提到了以前在慕课网上有做的精灵小游戏,里面用到了css sprites。通过把多张小图合并成一张小图,利用position和background-image,就可以减少http的请求,从而减少页面加载时间。然后他问我,为啥可以减少页面加载的时间。我说因为http请求需要花费大量的事件,而且会在请求头里面包含很多不必要的信息,而且http是阻塞的

0

页面重流和回流以及优化的整理和学习

浏览器从下载文档到显示页面的过程是个复杂的过程,这里包含了重绘和重排。各家浏览器引擎的工作原理略有差别,但也有一定规则。简单讲,通常在文档初次加载时,浏览器引擎会解析HTML文档来构建DOM树,之后根据DOM元素的几何属性构建一棵用于渲染的树。 渲染树的每个节点都有大小和边距等属性,类似于盒子模型(由于隐藏元素不需要显示,渲染树中并不包含DOM树中隐藏的元素)。当渲染树构建完成后,浏览器 就可以

0

javascript事件委托

先举个现实生活中委托的例子。比如有3个人在同一个公司里,星期天他们得知他们的快递都要来。如果不用委托,意味着这三个人都要去一次楼下,而且要一直等,直到他们的快递来。但是我们知道公司都是有前台的,所以一般快递公司都是把东西直接放到前台,然后由前台打电话让他们来领取。这里的前台服务就是委托。 在比如电商的模式(如淘宝),如果没有淘宝,大家都要一家一家的去看衣服,找衣服,买衣服。但是有了淘宝的这种类似委

0

HTML5 Drop and Drag API学习与整理

Drop和Drag是能够DOM元素拖动与释放的API。过去我们也有一个能够实现拖动与释放的流程。今天总结一下,可以看到新的API是给我们提供了很大的便利和简化了许多代码的。 拖拽的旧方法总的是下面下面的三个流程:(js以前是没有直接拖拽的方法的,所谓的拖拽也就是把鼠标拖拽的偏移值赋值给拖动的元素,这样就好像形成一个假象,我是可以拖拽的,实际上该元素就是我们硬性规定他的新新位置的) 通过mouse

0

我理解的TCP的三次握手和四次分手

这学期就开始学网络啦,下下个星期就开课。看看我理解的TCP/IP的三次握手和四次挥手。顺便也总结了一下当用户输入网址的过程中发生了什么。以及关于HTTP的一些基本知识。 首先我的理解:三次握手: 客户端首先请求说我要请求你的服务器上的资源。 服务器说好我知道啦。 这时候客户端收到了服务器的响应又对服务器说我收到啦,谢谢。 此时建立连接,可以开始传送数据了,这就是三次握手。 四次挥手:可以是服务

0

解决跨浏览器问题的几个代码段总结

Ajax对象:XMLHttpRequest和IE的ActiveX对象这两种对象的构造函数有两种不同的格式,但却共享了同一种功能和方法。一旦创建完初始的对象并将其赋值给一个对象,也就解决了Ajax的跨浏览器问题。1234567var xmlhttp = false;if(window.XMLHttpRequest){ xmlhttp = new XMLHttpRequest(); xml