有时候xhr的post方式下,后台总是获取不了post过来的数据,这个其实跟页头有关。
VIEWED
- 你没有浏览过任何文章或者你没有开启cookies。
Posts Tagged ‘JS’
简单的js调试函数
Tagged: JS,调试 | Cat: 生活分享 | 6 Comments有时候我们不得不把某个js的数组或者对象打印出来,就好像php的print_r一样,js没有这种函数,我在网上找了一个并且稍微改造了一下:
最近几个关于js的笔记
Tagged: JS,JSON,swfupload | Cat: 生活分享 | 3 Comments第一,重温一下数据的json传输手法,最简单的php json转js对象方法:
//php的array('a'=>1,b=>'2')转换输出"{a:1,b:2}"的json字符,以下方法转为js对象 eval('var result = '+returnData+';');//等同于:var result={a:1,b:2} //然后可以通过以下方法遍历js对象 for(var v in result){ /*这是递归alert出属性值*/ alert(result[v]); }第二,研究了一下swfupload(官方下载)这个swf+js的上传组件:
先明确一下原理:
实际上整个原理很简单,单一过程:选择一个文件,然后上传,然后通过响应handle.js里面定义的事件来后续操作。对于多个文件的上传实际上就是重复这个单一过程,handle.js里面定义的每个响应事件都是针对一个文件的上传过程。
再说一下跟php的交互:...
多层div相互层叠激活方法(提升z-index)
Tagged: javascript,JS,多层重叠,激活 | Cat: javascript | 0 Comment最近有一个作业中的一个小功能要求以下:多层div相互层叠,要求激活其中一个。 先看我做的DEMO:http://xiebiji.com/works/activeDiv/ 来看一下关键的js代码(基于mootools):
//层叠激活 /*获取当前所有层区域*/ //定义一个存放多个区域数据的集合 var allArea=new Array(); //遍历所有存在的div $$('#comm_area .comm_div').each(function(e){ pushOneArea(e);//依次存数据 }); //往allArea集合中存入一个区域数据,e为$()方法得来的元素 function pushOneArea(e){ var oneArea=new Object();//定义1个对象 //赋予对象一些必要的数据 oneArea.sx=e.getStyle('left').toInt(); oneArea.ex=e.getStyle('left').toInt()+e.getStyle('width').toInt(); oneArea.sy=e.getStyle('top').toInt...js中自定义mouseenter、mouseleave的写法
Tagged: JS,mouseenter,mouseleav | Cat: javascript | 3 Comments首先说一下什么是mouseenter事件:
实际上就是鼠标从外面移到某个元素里面(触发了目标方法)后,鼠标再在里面移动不会重新触发目标方法。moueseleave同理。
本身ie系列浏览器是有onmouseenter这个事件定义的,但是firefox之类的浏览器没有这个,所以只能模拟。
以下提供完美模拟的方法:
//ele为目标元素,type为事件类型不用'on',func为事件响应函数 var addEvent=function(ele,type,func){ if(window.document.all) ele.attachEvent('on'+type,func);//ie系列直接添加执行 else{//ff if(type==='mouseenter') ele.addEventListener('mouseover',this.withoutChildFunction(func),false); else if(type==='mouseleave') ele.addEventListener('mouseout',this.withoutChildFunction(func),false); el...实际上js文件放最后是个好方案,但有更好的方案
Tagged: javascript,JS,加载 | Cat: javascript | 4 Comments问:javascript文件在页面加载的时候放哪里最好?
之前被这样问到,我马上就答:放最后。现在反省!实际上这个答案太肤浅了。
运行 Internet Explorer 7 或更早版本的浏览器在遇到 JavaScript 文件时会产生阻碍。通常,它们在以所谓的推测模式下载时速度足够快。但如果遇到 JavaScript,浏览器会跳出此模式,专门下载 JavaScript。而且多个Javascript是按串行形式下载,您将发现 JavaScript files 文件之间不会出现并行,也绝少会同时加载其他类型的文件。
所以我们会把所有其他东西都下载才开始下载js文件,所以我以前的答案是:把js放最后面。
而实际上在这个基础上还有技巧,就是把原来串行加载js的方式转为并行。具体做法:
function AsyncLoad(){ var l = ar...