随笔分类 -  javascript

javascript基础
摘要:废话不多说,下面分别检测各个浏览器下的e.pageXe.layerXe.offsetXe.clientXe.x属性;测试浏览器:FF9/Chrome15/opera11.52/safari5(win)/IE6/7/8/9测试代码:View Code <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head> < 阅读全文
posted @ 2011-12-08 11:53 西山 阅读(8168) 评论(3) 推荐(0)
摘要:小提示:关于数组的concat和push方法。两者的区别主要有:concat是连接数组,不会修改原数组,返回值为连接后的数组,与push的重要区别是concat会展开数组的第一层子数组push是添加数组元素。就地修改原数组,返回值为添加的新项,push不会展开传入的数组。 var a = [1,2,3,4]; var b = [4,5,6,7]; var c = a.push(b); var d = a.concat(b); console.log('a',a); console.log('b',b); console.log('c',c); c 阅读全文
posted @ 2011-12-07 16:25 西山 阅读(2157) 评论(0) 推荐(0)
摘要:说到树形菜单,貌似一般是用在一些管理系统里面的,我是还没有用到过,有些zTree之类的插件已经做得比较好了。我练习一下,以免不时之需。树形菜单不过就是把普通菜单重新排列一下,看起来像树形而已。上图京东的菜单,给他多几个嵌套,然后添加收缩伸展事件,差不多就行了。给个例子:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><he 阅读全文
posted @ 2011-12-07 12:55 西山 阅读(11028) 评论(0) 推荐(0)
摘要:用过Prototype的人都知道,里面有个类叫做Template,用法示例如下: var str = '#{what} may have gone, but there is a time of #{how}'; var object = { what : 'Swallows', how : 'return' } var template_1 = new Template(str); var result = template_1.evaluate(object); console.log('result... 阅读全文
posted @ 2011-12-05 21:31 西山 阅读(1357) 评论(0) 推荐(0)
摘要:按照W3C的说明,String对象的replace方法调用方式是stringObject.replace(regexp/substr,replacement)。这两个参数都是必须的,replace() 方法的参数 replacement 可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。该函数的第一个参数是匹配模式的字符串。接下来的参数是与模式中的子表达式匹配的字符串,可以有 0 个或多个这样的参数。接下来的参数是一个整数,声明了匹配在 stringObject 中出现的位置。最后一个参数是 stringObject 本身。对于replacement 阅读全文
posted @ 2011-12-05 14:19 西山 阅读(3381) 评论(0) 推荐(0)
摘要:这段时间学习下linux,觉得linux的多桌面不错,于是顺便用js实现一个,虽说不知道有什么用,就当玩玩。PS:颜色的设定没有考虑,桌面多了颜色就会出错。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head> <meta http-equiv="Content-Type" conte 阅读全文
posted @ 2011-12-04 01:02 西山 阅读(333) 评论(1) 推荐(0)
摘要:幻灯片 阅读全文
posted @ 2011-12-02 21:03 西山 阅读(491) 评论(1) 推荐(0)
摘要:由于各浏览器的js实现不同,因此各浏览器的原生对象(这里不涉及DOM实现,当然这也有区别)的原生方法也不尽相同,采用原生方法的好处显而易见,使用兼有效率,而且其中有些方法可能包含在以后的ECMAscript规范中。下面看一下chrome/15实现的一些数组方法---------------------------------------------------------------------------------------------concat:这个好说,唯一需要注意的就是concat不是就地修改的,是指返回链接后的结果,另外一点是指回展开第一层数组join:连接数组pop:出栈操作 阅读全文
posted @ 2011-11-29 12:47 西山 阅读(1197) 评论(0) 推荐(0)
摘要:测试例子:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> 阅读全文
posted @ 2011-11-25 11:52 西山 阅读(4056) 评论(2) 推荐(0)
摘要:这个比较简单,做个记录而已。创建一个嵌套节点,让外层节点产生滚动条,然后用offsetWidth - clientWidth即可获得滚动条宽度。需要注意的是为了避免页面抖动,可以设置外层元素position:absolute和visibility:hidden参考: function getScrollWith(){ var wrap = setAttributes(document.createElement('div'),{ style : { width : '200px', heigh... 阅读全文
posted @ 2011-11-25 11:39 西山 阅读(1658) 评论(0) 推荐(0)
摘要:setTimeout的通常用法是干什么我就不多说了,上次看到一个setTimeout的一个用法: var arr = [1,9,2,8,3,7,4,6,4,5]; for(var i = 0, len = arr.length; i < len; i++){ setTimeout(function(x){ console.log(x); },arr[i],arr[i]); }虽然这个并不是什么好的用法,这里setTimeout的第三个参数主要得到了除IE外的系列浏览器的支持,具体说明可以参考这篇文章http://www.c... 阅读全文
posted @ 2011-11-24 02:02 西山 阅读(3121) 评论(0) 推荐(0)
摘要:JS的链式调用,作为理解JS库的一个补充 阅读全文
posted @ 2011-11-22 21:34 西山 阅读(10869) 评论(2) 推荐(1)
摘要:JS正则中的match与exec 阅读全文
posted @ 2011-08-03 22:22 西山 阅读(11797) 评论(0) 推荐(0)