javascript
zhangw428
不是美工,不是程序员,是前端工程师……
我们都在不断赶路,忘记了出路,在失望中追寻偶尔的满足……
展开
-
显示JavaScript函数调用堆栈的方法
显示JavaScript函数调用堆栈的方法西风瘦马 发布于 六月 20, 2010 许多大型的JavaScript应用程序间的函数调用关系是非常复杂的,在开发或者调试过程中,经常需要跟踪某个函数是由哪些函数调用后才触发执行的,弄清楚这些函数的调用顺序对我们理解代码转载 2011-10-11 14:28:45 · 28158 阅读 · 0 评论 -
JavaScript的单线程性质以及定时器的工作原理
原文:John Resig http://ejohn.org/blog/how-javascript-timers-work/How JavaScript Timers Work 从基础的层面来讲,理解JavaScript的定时器是如何工作的是非常重要的。计时器的执行常常和我们的直观想象不同,那是因为JavaScript引擎是单线程的。我们先来认识一下下面三个函数是如何控制计时转载 2009-06-19 13:58:00 · 717 阅读 · 0 评论 -
简单js拖动
Untitled Document<!--*{margin:0;padding:0;}.drag{width:100px;height:100px;border:1px solid #000;position:absolute;left:20px;top:20px;}.drag h1{width:100%;height:30px;backgrou原创 2009-06-15 15:25:00 · 384 阅读 · 0 评论 -
json js与php应用
使用json 一个很重要的问题就是编码与转码的问题,因为json对中文的支持不好,稍有差池就会造成客户端js解析json的报错或者乱码种种问题。其实重点在于后端处理,拿php来说。首先应该把数组数据中的中文转成utf-8编码,例如:iconv("GBK","UTF-8",$this_match[1][$i])。然后用json_encode将php数组进行json编码。这样返回的json浏览器端js原创 2009-05-27 10:54:00 · 699 阅读 · 0 评论 -
javascript的作用域
作者:我为我狂 原文地址:http://www.easyjf.com/blog/html/20080318/1441794.html 作用域(scope)是JavaScript语言的基石之一,在构建复杂程序时也可能是最令我头痛的东西。记不清多少次在函数之间传递控制后忘记 this关键字引用的究竟是哪个对象,甚至,我经常以各种不同的混乱方式来曲线救国,试图伪装成正常的代码,以我自己的理转载 2009-05-20 11:09:00 · 536 阅读 · 0 评论 -
关于全角空格
html语言中只存在半角空格的相应代码,即 。不存在相应全角空格的代码。因为全角空格是汉字库中的定义,属于“汉字”,浏览器只有当做字符,不认为是空格。输入“全角”空格,就是在汉字输入状态下,单击汉字输入条中的那个“半月牙”使变成“园月”形,再打的空格就是“全角”空格。 在正则表达式中,全角空格的相应代码是 /u3000。所以,据此可以定义去除字符首位空格(包括全角) 的函数:f原创 2009-05-19 16:21:00 · 8612 阅读 · 0 评论 -
Object.prototype.toString.call 与数组判断
为什么要用Object.prototype.toString而不是Function.prototype.toString或者其它?这是和他们的toString解释方式有关系的。下面是ECMA中对Object.prototype.toString的解释:Object.prototype.toString( )When the toString method is called, the fo转载 2009-05-12 16:33:00 · 9749 阅读 · 1 评论 -
利用javascript 实现锚点间平滑移动
Untitled Document<!-- function intval(v) { v = parseInt(v); return isNaN(v) ? 0 : v; } // 获取元素信息 function getPos(e) { var l = 0; var t = 0;转载 2009-04-30 13:40:00 · 2312 阅读 · 1 评论 -
原创ajax分页
Untitled Document<!--*{margin:0;padding:0}.ajax_page{padding:1px 4px;border:1px solid #e60011;margin:0 2px;text-decoration:none;color:#666666;font-family:mingliu;font-size:11px;hei原创 2009-04-29 16:31:00 · 943 阅读 · 0 评论 -
动态加载js文件
function loadScript(url){var hd = document.getElementsByTagName(’head’)[0],js = document.createElement(’script’);js.src = url;js.type = “text/javascript”;if(js.addEventListener){js.addEv转载 2009-06-19 16:04:00 · 574 阅读 · 0 评论 -
仿google拖动布局(原创)
代码的一部分参照了google的算法,对于勾股定理的一个应用让人感觉眼前一亮,仔细分析感觉确实是高,运用得很巧妙。google drag<!--*{margin:0;padding:0;}body{}.d-con{width:33%;float:left;vertical-align:top;height:auto;min-height:600p原创 2009-06-24 14:39:00 · 1072 阅读 · 0 评论 -
jquery中的关于queue与dequeue的疑惑
jquery(1.2.6)中,我关于queue和dequeue的应用始终存在一个问题,不知道是jquery的bug还是我的理解不对。问题就是:queue中的函数数组的第一个函数在dequeue时,总也不被触发,而总是从第二个函数开始执行。例如下面的例子:Untitled Document<!--var todo = [function(){alert(1原创 2009-06-25 16:58:00 · 1517 阅读 · 1 评论 -
Using canvas to do bitmap sprite animation in JavaScript
Using canvas to do bitmap sprite animation in JavaScriptAugust 21, 2009 – 7:02 pm Tags: canvas, Games, JavaScriptHave you ever thoug转载 2011-09-30 12:28:28 · 1064 阅读 · 0 评论 -
使用 jQuery(中级),第 2 部分: 创建自己的插件
简介 在该系列之前的文章 使用 jQuery,第 2 部分:中级 jQuery:UI 项目 中,我介绍了使用 jQuery 代码中的插件来提高 web 应用程序的效率。但必须知道,这些插件不是自己凭空产生的,它们是由开发人员编写、测试并完转载 2011-07-18 21:22:18 · 1627 阅读 · 0 评论 -
document.domain 跨域问题【转】
document.domain用来得到当前网页的域名。比如在地址栏里输入:javascript:alert(document.domain); //www.forjj.com我们也可以给document.domain属性赋值,不过是有限制的,你只能赋成当前的域名或者基础域名。比如转载 2011-07-14 10:23:40 · 2440 阅读 · 0 评论 -
js全局变量与局部变量 预解析与作用域链详解
局部变量和全局变量同名时,会隐藏这个全局变量;<br />4.变量<br />关键字: 4.变量4.1 变量的类型<br /> JS是松散类型的语言<br /><br />4.2 变量的声明<br /> var 声明是变量的标准声明<br /> var 声明的变量是永久性的,不能用delete运算符删除<br /> <br /> 全局对象,调用对象初始化时,JS解析器会在相应的代码段里寻找var声明的变量,<br /> 然后在全局对象,调用对象中创建相应的属性,转载 2010-12-07 19:19:00 · 7984 阅读 · 0 评论 -
javascript的预解析及相关
变量<br />同样,以这两个小例子的错误对比提示开始。alert(y1); //代码段1<br />var y1 = 'dddd';<br /><br />alert(y2); //代码段2 // alert(typeof y2);<br />y2 = 'xxxxx';<br /><br />先思考一下,为什么一个会提示 undefined , 一个却抛出变量未定义的错。。先看javascript的解析过程。<br />javascript在执行过程之前转载 2010-12-07 16:25:00 · 4249 阅读 · 1 评论 -
动态插入js,并立即执行回调函数
动态插入js文件在提高页面加载速度和跨域问题上有非常重要的作用。上面就是一个简单例子。ie 上支持 onreadystatechange , 不支持 onloadfirefox上支持 onload , 不支持onreadystatechangeie上面不一定loaded 或者是 complete触发 , 或者两个都会触发,所以用或来判断。需要注意的是script.onreadystatechange 和script.readyState 的大小写形式,不区分大小写就可能导致不原创 2010-12-03 15:49:00 · 11084 阅读 · 0 评论 -
js操作iframe中的dom
一、父级窗口操作iframe里的dom<br />JS操作iframe里的dom可是使用contentWindow属性,contentWindow属性是指指定的frame或者iframe所在的window对象,在IE中iframe或者frame的contentWindow属性可以省略,但在Firefox中如果要对iframe对象进行编辑则,必须指定contentWindow属性,contentWindow属性支持所有主流浏览器。<br />相关的还有一个contentDocument属性,这个属性是指指转载 2010-11-29 17:29:00 · 4759 阅读 · 1 评论 -
javascript 各种数字进制的转换
基本思路是先把其他进制的转化成 十进制,然后再转化。这个过程是利用parseInt函数,例如把一个16进制的数字(num)转化成10进制,num = parseInt(num,16)。 如果再想把它转化成二进制的,就是如下:num.toString(2) 。这其中关于16进制的一个函数也很特别,escape函数可以将一个字符串转化成16进制的数字。 下面是一个综合的例子:var a原创 2009-04-24 14:01:00 · 827 阅读 · 0 评论 -
用document.domain解决Ajax跨子域
因为浏览器的安全策略,浏览器不允许不同域(比如:dancewithnet.com和 lab.dancewithnet.com)、不同协议(比如:http://dancewithnet.com和https: //dancewithnet.com)、不同端口(比如:http:dancewithnet.com和http: //dancewithnet.com:8080)下的页面通过XMLHTTPRe转载 2009-04-07 11:10:00 · 1982 阅读 · 0 评论 -
正则替换非法字符的一个思路
在论坛中看到的,并记录了下来,利用正则的思路值得借鉴html>head> meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> title>Testtitle>head>script type="text/javascript">function filter(e) {原创 2008-09-17 13:56:00 · 1066 阅读 · 0 评论 -
javascript 框架编程
做lady频道时,用到了一些框架上的知识。顺便补一下这方面。 1 框架编程概述一个Html 页面可以有一个或多个子框架,这些子框架以来标记,用来显示一个独立的Html 页面。这里所讲的框架编程包括框架的自我控制以及框架之间的互相访问,例如从一个框架中引用另一个框架中的JavaScript变量、调用其他框架内的函数、控制另一个框架中表单的行为等。2 框架间的互相引用一个页面中的所有框架原创 2008-09-19 11:52:00 · 710 阅读 · 0 评论 -
设置与删除cookie时一定要注意路径问题(另读取cookie中firfox与ie的区别)
在做lady频道时遇到的一个cookie的路径问题。当我在lady.6.cn/下种一个cookie(actionType)时. 在firefox中,在lady.6.cn/space下存在一个同名cookie时,firfox 会直接读/space下的cookie,忽略lady.6.cn/下的cookie(即父路径cookie). 也就是说如果,/space的action为空时,fir原创 2008-09-18 14:31:00 · 3451 阅读 · 0 评论 -
学习正则表达式的一点练习与测试
html xmlns="http://www.w3.org/1999/xhtml" >head> title>无标题页title>head>body>script type="text/javascript">var regx = /^[A-Za-z0-9_]*$/g; // 只能由数字,字母,下划线组成var a = regx.test(j原创 2008-09-02 16:04:00 · 397 阅读 · 0 评论 -
基于mootools的简单下拉菜单类
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">http://www.w3.org/1999/xhtml" > drop menu *{margin:0;padding:0; }li{list-style:none;}.menu{float:left;display:inline;font-family:Arial原创 2008-07-31 16:46:00 · 1038 阅读 · 0 评论 -
Javascript高级培训-正则表达式 (作者:回眸 ID:eye_of_back)
三道测试题:1, var str=“ abbbbacc”;var rs=str.replace(“a”,”0”); (A)0bbbbacc (B)0bbbb0cc2,var str=“ abbbbacc”;var rs=str.replace(“/a/”,”0”); (A)0bbbbacc (B)0bbbb0cc 3,var str=“ ab转载 2008-05-06 10:37:00 · 562 阅读 · 0 评论 -
javascript的智慧 二(转载)
程序运行的结果表明,构造函数的prototype上定义的方法确实可以通过对象直接调用到,而且代码是共享的。显然,把方法设置到prototype的写法显得优雅多了,尽管调用形式没有变,但逻辑上却体现了方法与类的关系,相对前面的写法,更容易理解和组织代码。 那么,对于多层次类型的构造函数情况又如何呢? 我们再来看下面的代码:1 function Person(name)转载 2008-05-06 10:24:00 · 442 阅读 · 0 评论 -
javascript的智慧-(转载)
无意间发现的好文章,对我深入理解面向对象的javascript有醍醐灌顶之感……感谢作者引子 编程世界里只存在两种基本元素,一个是数据,一个是代码。编程世界就是在数据和代码千丝万缕的纠缠中呈现出无限的生机和活力。 数据天生就是文静的,总想保持自己固有的本色;而代码却天生活泼,总想改变这个世界。 你看,数据代码间的关系与物质能量间的关系有着惊人的相似。数据也是有惯性的,如果没转载 2008-05-06 10:17:00 · 544 阅读 · 0 评论 -
mootools类扩展的一个练习实例(class ,extend)
html xmlns="http://www.w3.org/1999/xhtml" >head> title>无标题页title> script type="text/javascript" src="mt.js">script>head>body>script type="text/javascript">var animal = new Cl原创 2008-09-25 10:43:00 · 774 阅读 · 2 评论 -
mootools位置切换类
测试地址:http://6.cn/user/myspace.phpvar posSwitch = new Class({ options :{ api : http://6.cn/6cntest/p/h.html, //待定 transition : {duration: 1000,transition: Fx.Transitions原创 2008-09-27 14:23:00 · 639 阅读 · 0 评论 -
mootools中bindWithEvent和bindAsEventListener 的区别
bindAsEventListener 是mt中Function类的一个方法,作用是:创建闭包并自动传入一个Event实例,通常用来做事件监听器它的返回值为:一个绑定了this以及预传入参数event(或window.event,根据浏览器不同而不同)的函数闭包.注意,event只是普通的event实例,而不是mt中Event类的一个实例,所以它不具有Event类中的属性,例如event.原创 2008-10-28 11:48:00 · 1601 阅读 · 0 评论 -
ajax js分页算法分析
显示效果:[页面总数小于等于10,全部显示,当前页特殊显示]上一页 1 2 3 4 5 6 7 8 9 10 下一页 [页面总数大于10,部分显示,当前页特殊显示]上一页 1 2 3 … 20 下一页 [当前页面为首页时,上一页不可用]上一页 1 2 3 4 … 20 下一页上一页转载 2009-04-01 17:19:00 · 1485 阅读 · 1 评论 -
JavaScript数组的快速克隆(slice()函数)和数组的排序、乱序和搜索(sort()函数)
JavaScript中对变量的操作都是通过引用方式,而对数组也一样。 前两天想要对一个数组进行复制,一直苦于找不到办法(遍历的方法俺是绝对不采用的) 无意中拿起《JavaScript权威指南》翻了翻数组的操作函数,发现了slice()函数。 slice()原来是用来截取数组中的一部分,这里我用它来复制数组,它的格式如下: array.slice(start, end) 如果省略了end参数,则切分转载 2009-03-26 18:18:00 · 1584 阅读 · 0 评论 -
简单的面向对象的颜色选择器
Untitled Document<!--var colorPicker = function(idStr){ this.colorPool = ["#000000","#993300","#333300","#003300","#003366","#000080","#333399","#333333","#800000","#FF6600","#80原创 2009-03-18 16:50:00 · 585 阅读 · 0 评论 -
javascript 时间对象的操作
时间对象是一个我们经常要用到的对象,无论是做时间输出、时间判断等操作时都与这个对象离不开。除开JavaScript中的时间对象外,在VbScript中也有许多的时间对象,而且非常好用。下面还是按照我们的流程来进行讲解。它是一个内置对象——而不是其它对象的属性,允许用户执行各种使用日期和时间的过程。 方法:分为得到时间方法、设置时间方法和转换时间方法得到时间方法:转载 2008-12-12 17:53:00 · 1220 阅读 · 0 评论 -
jquery 学习(跨域调用 与 远程脚本)
<!--.block{width:100px;height:100px;}.small{width:100px;height:100px;background:pink;float:left;margin-top:5px;margin-left:2px;}--><!--var $z = jQuery.noConflict(); // jquery 防止框原创 2009-02-26 14:45:00 · 2582 阅读 · 0 评论 -
JavaScript splice() 方法 插入 删除或替换数组的元素
JavaScript splice() 方法返回 JavaScript Array 对象参考手册定义和用法splice() 方法用于插入、删除或替换数组的元素。语法arrayObject.splice(index,howmany,element1,.....,elementX)参数 描述index 必需。规定从何处添加/删除元素。该参数是开始插入和(或)删除的数组元素的下标,必须是数字。ho转载 2009-02-19 18:11:00 · 11625 阅读 · 0 评论 -
简单的javascript 继承机制
html xmlns="http://www.w3.org/1999/xhtml">head>meta http-equiv="Content-Type" content="text/html; charset=utf-8" />title>Untitled Documenttitle>head>body>script type="text/jav原创 2009-01-02 15:26:00 · 685 阅读 · 0 评论 -
记录光标在编辑器中的位置
html xmlns="http://www.w3.org/1999/xhtml">head>meta http-equiv="Content-Type" content="text/html; charset=utf-8" />title>无标题文档title>head>body>script type="text/javascript">原创 2008-10-27 15:48:00 · 819 阅读 · 0 评论