随笔分类 - JS
摘要:常用的爆布流布局有两种:一种是浮动布局,一种是固定定位布局浮动布局:有几列的DIV(float),获取到的数据可以直接插入到对应的DIV中,这种布局比较简单,也比较常用的,不需要管各个模块的高度几个关键点:1.什么时候请求数据:document.documentElement.scrollHeight < document.documentElement.scrollTop + document.documentElement.clientHeight还需要一个开关,避免在请求数据的时候,又请求数据,onOff = true,在请求数据时设为flase,请求完了,并且渲染完成再打开2.可
阅读全文
摘要:检测变量\值属于某个类型Object.prototype.toString.call('xiaohui') //'[object String]'Object.prototype.toString.call(108) //'[object Number]'Object.prototype.toString.call(null) //'[object Null]'Object.prototype.toString.call({name:'xiaohui',age:108}) //'[object Object
阅读全文
摘要:在页面中引用样式只有三种方式:1.通过link引用外链形式var styles = document.createElement('link')styles.rel = 'styleSheet'styles.type = 'text/css'styles.href = 'http://xxoo.com/c.css'document.getElementsByTagName('head')[0].appendChild(styles)这种方式主要是用与样式比较多的情况,长篇大论的时候2.通过style标签来添加IE和
阅读全文
摘要:今天写了一段代码:var test = window.test = {}(function(o){})(test)运行后,发现firebug里面报错了,提示({}) is not a function,说这个不是函数,发现以前都是这样写的匿名函数啊,后来查啊查啊,终于发现了一个问题,是不是var test = window.test = {}后面没写分号,而将({}) 解析成一个函数变量名呢,这个函数是不存在,所以会报错(初步理解),然后在后面加个分号就可以了,以后写程序一定得规范,该有分号的地方就得加上,别偷懒6.9关于匿名函数的作用域问题:在一个js文件里面定义了如下:(function(
阅读全文
摘要:IE6上面的PNG透明度太可恨了,今天在处理页面中的PNG图片中,先尝试使用滤镜来处理,用ieTester看效果,结果比较悲催,没有任何效果,图片都不出来,后来找台装有IE6的浏览器的机器,才有效果,滤镜好像是只能处理新加到页面中的元素,不能处理已在页面中存在的元素,比较悲催,后来尝试使用DD_belatedPNG这个脚本来处理,这个脚本来相当不错,可以处理背景,<IMG/>,平铺,定位,鼠标移上去的效果,特别管用的是以下两个方面:第一个方面:对于在页面中已存在的元素,也可以通过加个类来处理透明第二个方面:对于未在存页中的元素,也可以通过JS加到页面中去,再使用这个脚本来达到透明度
阅读全文
摘要:今天突然心血来潮,想看看jquery moblie,非常方便在ios和android客户端上面做些东西,非常快捷,jquery moblie提供了强大的UI功能,只需要在HTML标签上面添加属性标签就可以:data-roledata-role="page" 表示一个内容块,juqey moblie在显示的时候会将其它的块内容隐藏,相当于一个页面data-role="header" 表示一个内容块的头部data-role="content"表示一个内容块的主要内容data-role="footer"表示一个内容块的尾
阅读全文
摘要:今天在项目中碰到一个小问题 点击链接替换body的背景图片代码如下: <a href="javascript:void(0)">1</a> <a href="javascript:void(0)">1</a> <a href="javascript:void(0)">1</a> <a href="javascript:void(0)">1</a> <a href="javascript:void(0)&q
阅读全文
摘要:最近在项目中用到了一个类似于微博的用户资料选项卡的功能,其实就是计算8个位置的坐标点var screenW = $(window).width(), screenH = $(window).height(), domL = dom.offset().left, domT = dom.offset().top, domW = dom.outerWidth(), domH = dom.outerHeight(), usercardW = $("#usercard").outerWidth(), usercardH = $("#usercard").outer
阅读全文
摘要:最近在一个项目中有个功能,需要获取光标所在的位置,并设置光标的位置,<script> var isIE = !(!document.all); function posCursor(){ var start=0,end=0; var oTextarea = document.getElementById("textarea"); if(isIE){ //selection 当前激活选中区,即高亮文本块,和/或文当中用户可执行某些操作的其它元素。 //createRange 从当前文本选中区中创建 TextRange 对象, //或从控件选中区中创建 contro
阅读全文
摘要:一直都是简单去js实现cookie的一些操作,今天把js对cookie操作系统的整理了一遍,包括:js读取cookie,js添加cookie,js删除cookie,示例如下:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; cha
阅读全文
摘要:/** * 递归排列 * 从 arr[1...n] 中任选 num(0 < num <= n) 个数的所有排列 */ function recursion_permutate(arr, num) { var r = []; (function f(t, a, n) { if (n == 0) return r.push(t); for (var i = 0, l = a.length; i < l; i++) { f(t.concat(a[i]), a.slice(0, i).concat(a.slice(i + 1)), n - 1); } })([], arr, num)
阅读全文
摘要:第一篇 解剖JavaScript中的null和undefined在JavaScript开发中,被人问到:null与undefined到底有啥区别? 一时间不好回答,特别是undefined,因为这涉及到undefined的实现原理。于是,细想之后,写下本文,请各位大侠拍砖。 总所周知:null == undefined 但是:null !== undefined 那么这两者到底有啥区别呢? 请听俺娓娓道来...null 这是一个对象,但是为空。因为是对象,所以 typeof null 返回 'object' 。 null 是 JavaScript 保留关键字。 null 参与数
阅读全文
摘要:<table id="aa"> <tbody> <tr> <td>单元格一</td><td>单元格二</td> </tr> </tbody></table>如果我想把aa表格中的<tr><td>单元格一</td><td>单元格二</td></tr>换成<tr><td>单元格三</td><td>单元格四</td></tr&
阅读全文
摘要:offsetParent:是指元素最近的定位(relative,absolute)祖先元素,如果没有祖先元素是定位的话,会指向body元素 作用:元素的偏移量(offsetLeft,offsetTop)就是以这个祖先元素为参考点的1.在DOM结构中该元素的上面没有定位元素:<body><div> <div id="aa">aa</div></div></body>var aa = document.getElementBYId("aa").aa.offsetParent.tagNam
阅读全文
摘要:编辑器加载中...今天在项目中碰到一个问题:在项目中再次封装jquery的dialog方法时(说明下:为什么要再次封装,是因为项目中会多次调用这个插件,不能每调用一次就初始化一次,所以才需要封装),出现了弹出层只弹一次的问题封装的方法:$.extend({ xh:function(options){ var defaults={ bgiframe:true,//解决IE6的select modal: true,//遮罩层 ... } }})然后页面中引用jquery-1.3.2.min.js和jquery-ui-1.7.3.custom.min.js两个脚本,然后页面中:$("#aa
阅读全文
摘要:最近研究了下$.widget("ui.scroll",{})插件,记录下一些心得吧,还有待解决的问题$.widget("ui.scroll",{ div:$('<div></div>'), t:{id:'id',name:'name'} _init:function(){ var str='' //调用这个插件时就直接执行这个方法 }, up:function(i){ }})$.extend($.ui.scroll,{ defaults:{ width:0, arr:
阅读全文
摘要:今天在项目中碰到一个代码顺序问题,先记录下来,怕以后又忘了,原因如下:fn();function fn(){alert(11)}//代码没问题,会alert的11后来改成:obj.fn()var obj={ fn:function(){ alert(11) }}结果就报错了,将对象的定义放到调用方法之前就不会报错原因:解释程序会执行两步骤,第一步:先对var声明的变量和function函数进行处理(这时候obj=undefined,function还是函数),所以执行obj.fn()会报错,第二步:执行代码
阅读全文
摘要:今天在项目中碰到了一个ajax调用数据加载的tab选项,点击浏览器的前进后退按钮也能够实现数据调用1.jquery的调用方法:原理:每个tab选项卡链接写成"#tab1","#tab2"这样点击选项卡的时候链接的hash会发生变化,一但hash发生变化时,浏览器的前进后退按钮就会发生变化,浏览器的前进后退按钮就会发生变化时,$(window).bind('hashchange',function(){})这事件就会触发,这样就可以在事件函数中调用数据了例子:$(window).bind('hashchange',function(){ $.getJSON(url,function(data)
阅读全文
摘要:跨域请求一般用于请求第三方的数据,位于不同域的数据,一个数据多个域调用,自己用到的一般两种方法:1.jquery的JSONP$.getJSOP(url+'?callback=?',function(data){})用callback作为服务器端支持的标准jsonp参数,而每次执行这个方法都会用时间戳生成一个唯一的全局函数名,替换这个“?”,这个细节被封装到黑盒里,使用者不必了解,可以像普通的ajax请求一样,用匿名的回调函数作为最末尾的参数(这是jquery强调的风格),这种语法糖(syntactic sugar)的作用绝对不仅仅是让前端开发人员可以偷懒而已,对代码的可读性,兼
阅读全文
摘要:判断值的数据类型,包括以下类型:string,number,boolean,undefined,null,object,array,functionfunction type(o){ return typeof(o) == 'object' ? (o == null ? 'null': (o.constructor == Array ? 'Array' : 'Object')):typeof(o)}注:1.typeof()返回的是首字母小写的类名称 2.constructor返回的是首字母大写的类名称
阅读全文