-
推荐几本深入JavaScript的书籍
程序员往往是爱书的.面对一本自己喜欢的编程书籍,即便昂贵,也舍得省吃俭用花钱去买.他们的书架上往往摆满了各类经典书籍.即便已经没时间去看更多的书,但只要一有好书上市,他们便会立马下单,直到把书放到自己的书架上才安心.这一种幸福感往往只有爱书之人才能懂得.我就有很多像这样的朋友.
IT技术发展短短数十年,却出现了很多经典书籍.他们被反复再版,被人们不断传颂,带领一批又一批的读者进入或深入IT领域.一本好的编程书籍,除了揭露技术原理的本质,往往还能带给你思想上顿悟.所以选择一本好的编程书籍是非常重要的.纵观IT类书籍数不胜数,然而其中却不乏滥竽充数者,粗制滥造者.所以如今选择一本好的书籍变得困难.这就需要我们花时间去鉴别埋没在书堆中的好书.
在此推荐几本本人亲自看过,觉得非常好的有关JS方面的书籍.希望给学习JS的童鞋有点小小的帮助.当然要感谢这些书的作者,没有他们的辛勤劳作,我们就不可能看到这么好的书,给我们这么大的帮助.然而可惜的是好书大都产自国外.这些书算是深入学习JS的书籍,不建议用于入门.有些书籍建议反复阅读.
Read More »没有评论 -
《JavaScript语言精粹》读书笔记
这几天比较闲,所以又把《JavaScript语言精粹》这本书看了一遍.书比较薄,却是非常好的一本关于JS的书,作者更是响当当的Douglas Crockford.看的过程中顺便零散的记录了一些笔记,将其做成了html页面,分享给大家.这些笔记只是针对个人的情况所写,不一定会对你有作用,建议大家阅读本书.
-
全民升级火热进行中
升级您的浏览器到兼容HTML5
这个页面是为了提醒少部分仍在使用过时、不安全的浏览器的用户尽快更新自己的浏览器到最新版,使用“现代浏览器”来安全、流畅的浏览网页。
我们强烈建议您升级您的浏览器到下面的任意一种,点击下面的任意浏览器的LOGO即可完成升级,整个过程只需要不到5分钟,5分钟后您就可以享受更流畅的浏览体验。
Read More » -
html5图像处理的应用
了解过html5的童鞋应该会知道html5中有这样2个函数:getImageData,putImageData,基于这两个函数我们就可以利用他们制作非常强大的图像处理.html5图像处理也是这篇文章要所的主题.首先来看看这两个函数的作用:
1.context.getImageData(x,y,w,h)
参数分别对应起点坐标和宽高。该方法返回该矩形范围内的imageData数组,该数组存储基于像素点的rgba通道的值.
2.context.putImageData(imagedata,x,y[,x,y,w,h])
传入imagedata参数,指定绘制区域,然后根据imagesdata的值进行绘制.
Read More » -
一段有趣的js代码
这是在网上看见了一段代码,文章说一个写了10年JS老手也未必能做出正确解答。现贴出代码,本人在看见代码做解答时,虽有疑惑,但也说不出其中缘由.随后看了文章分析也云里雾里,最后在冥思苦想后终于有所解。代码如下:
var a = {n:1}; a.x = a = {n:2}; alert(a.x);大家认为最后会alert出什么?
我想至少大部分人会说{n:2}或[Object Object].但实际上是undefined.不信大家可以自行测试.
这里自己也冒昧的给出自己的解释.
为了方便解说我们将以上代码中出现的4个a分别标序为1号a,2号a,3号a,4号a.
很多人做出错误的回答是因为未看见a变量实际上被重写了.个人是这么理解的
首先1号a被赋值为{n:1},这儿没什么问题,主要是第二行代码:a.x = a = {n:2};让我们来看看这个过程中发生了什么.
根据求值顺序从左到右a.x先被指向一个引用地址
然后a对象被重新赋值为{n:2}
再然后a.x就指向了值{n:2}这个新地址.
问题就在这儿,在a={n:2}操作时,a对象已被重写.
所以上述代码中1号a和2号a表示同一对象,3号a和4号a为同一对象.而4号a={n:2},并没有a.x属性,所以是undefined.
也不知大家有没有看明白
我们可以再次验证一下3号a和4号a相等,如果你alert(a.n)最后会弹出2,说明3号a和4号a指的是重写后a对象,而1号a和2号a则指的是未被重写前的a对象。
好了,欢迎大家指正或提出新问题 -
模拟select下拉框
众所周知,select控件在很多浏览器中很多样式是不起作用的,在IE浏览器中只支持宽度,高度(IE6除外),字体等样式的自定义,其它基本无效。而对于我这样一个特别喜欢自定义的人来说,这无疑让我万分难受。还有就是浏览器自带的select控件难看说不上,但是和某些网站真的不搭,所以于是自己通过模拟select控件来达到自定义外观样式的效果,这算是一个基于jquery的插件吧。
先上demo页面
点击这里下载源代码
Read More » -
瀑布流布局waterfall.js解析
在发了瀑布流布局的实现这篇文章后,一直没有把实现原理的文章补上。代码注释也写得不够详细,导致本博客的几位读者出现了一些疑惑,或留言或给我发邮件给我希望我能说说waterfall.js的一些实现原理。今天在此补上,在此也和你们说声抱歉,现在才发上来。希望你们能够看到,并希望能为你们解答一些问题。好了下面进入正题。
Read More » -
利用canvas制作手势操作功能
今天要和大家分享的是自己前几天的一个想法的实现.我想‘手势操作’大家应该并不陌生,在移动端的交互设计中这已经是一种很常见常用的设计了,比如说android版的遨游浏览器和海豚浏览器都有手势操作功能.于是自己就想着在PC上实现一些类似效果的模拟.因为毕竟媒介不一样,所以以至于能不能带来像移动端那样的便捷咱们各持己见吧,在此纯做技术实现探讨.
自己利用3个晚上的空余时间做出了这个效果,在此与大家分享,也将代码分享出来,希望大家能够一起探讨分析,有兴趣之士还望能够一起完善代码.
此功能已添加至本博客,所以如果你使用支持html5的浏览器按如下操作应该就能够使用本效果了:
按住鼠标右键进行拖动
目前以实现6个手势操作:前进/后退,向上/下翻滚一屏的高度,至顶/底部
进行鼠标右键拖动时出现箭头方表示进入了功能区,左/右方向为前进/后退功能,短上/下为向上/下翻滚一屏的高度,长上/下(会出现闪动的圆圈)为至顶/底部功能.功能区为正方向的上下或左右30度
demo页面
demo下载
你也可以在你的网站中引入gesture.js即可实现在你的网站中添加该功能
并未做充分的测试,也未在IE9中进行测试,如有问题,欢迎反馈 -
好用的JPlayer

JPlayer是一个播放音频视频jQuery插件.在支持HTML5的浏览器中采用HTML5的解决方案,而对于一些老版本的浏览器则采用flash的解决方案.然而她真正吸引人的并不是这些兼容性处理,而是咱们可以利用她,完全采用css来自己定制样式.这对于一些不会flash的朋友那是大大的便利呀,比如像我.其实前面的那个fm我也用了这个插件,因为当时并没有好好去研究她的文档,而是急于求成,所有并没有发现她的亮点.而且当时也写得很有问题.这次因为要用到她,所以好好看了下她的文档.不得不说JPlayer的开发人员提供非常人性化的api.功能强大,操作简单.
这是我研究JPlayer文档的时候,做的一个demo
大家也去研究折腾一下吧,非常好的插件,简单几步就可以轻松打造出专属你自己的强大的播放器.使用方法这里就不说了,建议大家去查看官方文档,有很详细的例子.不过firefox下不能播放mp3格式的音频,小小的遗憾吧!
官方首页:http://www.jplayer.org/
官方文档:http://www.jplayer.org/latest/developer-guide/强烈建议大家尝试,也欢迎交流。
-
有一个想法
用wordpress也已经有段时间了,功能虽然很强大,但说实话个人觉得用来做个人博客,特别是技术性的博客就有点太重了.不够简洁,不够灵活,速度也不快,可定制性不算高.特别你要给文章内容加样式是很麻烦的.还有就是个人一直非常不喜欢wordpress后台发布的编辑功能,很弱.很多次都让我很无语.
综上所述,于是有了个放弃wordpress的想法,于我而言太大了,没有必要.于是想了想取代的方案就是用纯静态的页面,不用后台语言?不用数据库,但是这样的话就会缺失很多功能,如搜索,订阅,评论等.当然个人觉得这些也并非必要的.当然有些功能还真的离不开后台语言.个人也会在后期慢慢开始实践.
这只是最初的想法,相信实践中还会遇到问题.还有个轻量级博客系统-jekyll,后面也会尝试一下.对jekyll感兴趣的可以参看:http://jekyllrb.com