摘要:
本专栏尝试记录并分享一些个人在学习和使用开源程序代码的过程中,经意或者不经意间看到的个人感觉比较有参考价值的代码片段。个人感觉,并不是说能写或者能看得懂一些晦涩难懂的代码段子,就可以成为向别人炫耀的资本。本专栏无意炫技,其实也无技可炫。至于让某些牛人觉得有些小儿科,我只能说,“您老太认真了”。保持元素纵横比解决问题:页面尺寸变化(resize)时保持页面元素纵横比开源程序:Bootstrap经常,我们会遇到这样的需求,需要保持页面上某些元素在页面大小被改变重新渲染的时候,保持该元素区域的纵横比不变。最常见的场景,比如页面上显示图片的时候,希望始终保持图片的纵横比,哪怕图片以缩略图显示。或者,在 阅读全文
摘要:
单例模式解决问题:只执行一次的函数开源程序:underscore有时候我们会需要使用单例模式,比如需要一个函数,这个函数在整个应用运行的时候只被访问一次。如果再次访问就会访问上次的执行结果。这个需求的一个经典实现可以在underscore的代码中找到:_.once = function(func) { var ran = false, memo; return function() { if (ran) return memo; ran = true; memo = func.apply(this, arguments); func = nu... 阅读全文
摘要:
浏览器特性判断解决问题:判断某事件/方法在当前浏览器中是否支持开源程序:Modernizr众所周知,各个不同的浏览器对于代码渲染的实现也各自为政百花齐放,虽然有W3C在维护着标准,但是由于市面上存在很多浏览器,每个浏览器又有数不尽的历史版本,因此对于浏览器兼容性问题的判断成了在写JS应用中必不可少的技能。以前大家都倾向于做浏览器类型和版本的检测,现在倾向于做浏览器的特性检测,这样更有实际用处。今天要提到的是通过判断事件是否存在来探测浏览器兼容性支持。比如onmousewheel事件,并不是所有的浏览器都会支持,我们可以这样:if(document.onmousewheel){ //这里是... 阅读全文