首页logo

金龙博客

关注Asp.Net、Java和前端开发设计,记录平凡点滴...

个人档案

Jonllen
个人档案 | 给他留言
RSS网志 | 心情闪存
妮称:Jonllen
性别:男
年龄:24
来自:中国·广州
微博闪存:特别的日子,正忙~
简述:彭金龙,洋名Jonllen Peng,出生于湖南湘潭,目前就职于广州时代财富科技有限公司,关注Asp.net、Java和前端开发设计。
博客日历

图片幻灯

音乐播放器

分类:JavaScript

showModalDialog、showModelessDialog和open异同

1.showModalDialog() 大部分浏览器已支持showModalDialog函数,我们叫它为模态对话框,它有个好处是打开之后会始终保持输入焦点,在关闭它之前父窗体是无法获取焦点,这可以阻塞用户的操作等待返回 2.showModelessDialog() showModelessDialog方法打开的窗体为非模态对话框,与showModalDialog模态对话框不同的是用户可以随便切换输入焦点,因此它不会阻塞线程等待返回结果 3.window.open() 4.兼容性 5.window.open()模拟showModalDialog() 6.小结

标签:JavaScript
  • posted@ 2010-8-8 12:37:01
  • 阅读(3695)
  • 评论(0)

几种形式的JavaScript树结构菜单

今天我主要讲3种不同展示的JavaScript树结构菜单,分别是悬浮层树(Tree)、右键菜单树(ContextMenu)和节点树(TreeMenu),目前都支持无限级层次。

标签:JavaScript,js,menu
  • posted@ 2010-5-9 17:17:55
  • update@ 2010-5-9 17:26:25
  • 阅读(3705)
  • 评论(4)

有趣的IE判断

var ie = document.all; 在以前,如果单只是判断为IE浏览器使用document.all,它返回是文档所有元素数组,可根据数组下标或元素id、name索引元素。这里注意ff等其他非ie浏览器里并不是完全不支持document.all,在quirks模式下使用document.all.id仍然可以获取元素,只不过document.all不能被探知仍然返回false而已。 var ie = !+'\v1'; 这是一个仅仅需要7bytes的ie判断,判定借助于IE不支持\v垂直制表符。\v在正则里匹配一个垂直制表符,而在IE里不支持'\v1'被认做为'v1',而其他浏览器则为'1',再使用+强制转换为数字,这时IE里就为NaN而其他浏览器则为数字1,最后再加上!强值转换为Boolean类型,此时候IE里就是true而其他浏览器就是false了。 测试:alert('\v1')(ie:v1,others:1);alert(+'\v1')(ie:NaN,others:1);alert(!+'\v1')(ie:true,others:false); var ie = !+[1,]; 今天在逛园子的时候,发现另外一位童孩全世界最短的IE判定真是强淫,利用了IE与标准浏览器在处理数组的toString方法的差异判定,对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它,而IE则不会。原来至少需要7bytes,而在今年的1月8日被一个俄国人打破了世界记录,仅仅需

标签:JavaScript,ie
  • posted@ 2010-4-26 22:01:22
  • 阅读(3729)
  • 评论(0)

博客个性化定制(2)-实现类似iGoogle首页功能

继上一篇博客个性化定制功能后,今天我又花了足足一天时间,实现了使用js拖拽定制模块功能。主要包括三大块功能:1.拖拽模块;2.计算坐标位置;3.完成拖拽,保存当前布局位置。

  • posted@ 2010-3-21 0:07:24
  • update@ 2010-4-3 17:47:58
  • 阅读(4870)
  • 评论(8)

使用Google地图API搜索功能

由于工作关系,最近这两天研究了下Google地图API,要实现地图位置搜索功能,显示搜索结果并能在地图上标记下来,刚开始还考虑使用51ditu,出于搜索关键字分词等方面考虑,最后还是决定使用Google地图,一直也都是那么的崇拜谷歌的大神,这次就来体验一翻~

标签:JavaScript
  • posted@ 2010-1-24 2:08:14
  • update@ 2010-4-5 16:36:22
  • 阅读(6530)
  • 评论(3)

在线JavaScript调色板

天气渐渐的冷了起来,冷到只打哆嗦,手插到口袋里不想出来,从未感觉广州也这么冷过,真是不想动啊。最近工作也比较忙,自己要负责一个项目,所以博客更新就没有像以前那样频繁了。 昨天设计部一同事问我要一个js取色板的功能,自己去做的话一时半会是不可能做好的,趁今天来公司比较早,就把Google大神搬出来帮他找了一下,刚开始找了几个兼容性都不是很好,而自己试着去改发现很麻烦,后台CSDN上有一个取色板的资源,不惜扣除了我2积分下载了这个资源,不过后来觉得这个js调色板着实好用,固出此文。 下载来看了它的Demo,页面很美观精致,功能也足够强大,有多种初始化调用方式。自己也写过几个简单的JavaScript类库,正好对比总结下。 1.定义一个全局的静态类或函数。 一个JavaScript类库,首先需要一个全局的静态类或活动函数,当然还可以定义更多的属性或函数,但最好都是定义在这个全局类下,而不要每一个方法或属性全部定义在window作用域下,这样会显得散乱无主次之分,至于什么时候用静态类时候用活动函数就要看具体实现的功能,一般来说页面会存在多份实例就需要使用pro

标签:JavaScript
  • posted@ 2009-11-17 23:53:24
  • update@ 2009-11-18 9:33:41
  • 阅读(5750)
  • 评论(0)

js取元素和鼠标在页面内的坐标位置

获取页面元素坐标位置: function elemOffset(elem){ var t = elem.offsetTop; var l = elem.offsetLeft; while( elem = elem.offsetParent) { t += elem.offsetTop; l += elem.offsetLeft; } return { x : l , y : t };} 调用例子: 根据鼠标event事件对象获取坐标位置: function mousePosition(e) { if(e.pageX e.pageY) { return { x : e.pageX, y : e.pageY }; } var scrollElem = (document.compatMode document.compatMode!="BackCompat")? document.documentElement : document.body; return { x: e.clientX + scrollElem.scrollLeft, y: e.clientY + scrollElem.scrollTop };} 调用例子: 整理作者:Jonllen,以上在IE、Firefor3.0、Chrome1.0、Safari4.03、Opera9.64浏览器内测试通过。

  • posted@ 2009-10-21 10:46:15
  • 阅读(6678)
  • 评论(0)

在线JavaScript编码和解码

在线JavaScript编码和解码,整理一下JavaScript编码的一些方法实例,提供在线escape编码、unescape解码、encodeURIComponentUrl参数编码、decodeURIComponentUrl参数解码、encodeURIUrl地址编码、decodeURIUrl地址解码测试的小程序,使用escape编码能很好的解决JavaScript中文乱码,今天用TinyMce在线编辑器的时候发现的它的语言包里面的中文都是一些\u9F20开头格式的字符,后来经过验证原来这些中文字符都是经过escape编码后的,估计在读取的是再用unescape解码回来,不过tinymce语言包里面的是escape编码后把所有的%替换为了\,不知道它为什么要怎么做。关于escape、unescape、encodeURI、decodeURI、encodeURIComponent、decodeURIComponent这些编码函数使用的地方我这里就不在撰述了,网上一大把。

标签:JavaScript
  • posted@ 2009-9-5 14:04:02
  • update@ 2010-2-11 15:25:20
  • 阅读(6043)
  • 评论(0)

loadScript和预载图片的JavaScript脚本

动态加载自己JavaScript的Ajax请求脚本文件,使用Ajax发送请求...

标签:JavaScript
  • posted@ 2009-7-24 10:51:32
  • update@ 2009-7-26 15:09:33
  • 阅读(5372)
  • 评论(0)

JavaScript兼容笔记

从今天开始记录JavaScript使用的兼容问题一、推荐获取元素的HTML代码使用innerHTML,是W3C属性兼容所有浏览器,不要使用innerText和outerHTML,因为这不是标准的属性FF内不被支持的。解决代替outerHTML方法如下:1.使用document.createElement("DIV").appendChild(parentLink.cloneNode(true)).parentNode.innerHTML;创建一个元素新元素添加到子节点后获取innerHTML即元素的outerHTML值。2.网上还有另外一种方案是给dom元素prototype自定义添加一个outerHTML属性。三、IE跟其他标准的浏览器在DOM认识处理上有个非常重大的区别,IE在获取childNodes的时候会很'人性化'把TEXT_NODE空文本节点给忽略掉,而FF等浏览器不会,但有时候我们只需要获取nodeType=1的元素节点,如果为TEXT_NODE文本节点误当元素节点设置它一些属性时会出错,一般做到兼容的办法是获取childNodes时逐一判断nodeType!=3(jquery的做法),但是就麻烦了一点,我一般用childNodes的时候我会用document.getElementById('id').getElementsByTagName('li'),但这是在预知所有的childNodes的nodeName前提下的,如果可以控制程序动态输出所有的childNodes的时候,可预先清除所有的空格换行,这样用childNodes获取的节点就没有TEXT_NODE空文本节点了,使用firstChild、lastChild、previousSibling、parentNode属性的时候也要注意TEXT_NODE空文本节点的情况。

标签:JavaScript
  • posted@ 2009-7-18 16:18:07
  • update@ 2009-9-10 20:40:34
  • 阅读(5112)
  • 评论(0)

广而告之