09 2013 档案
摘要:在联系notepad的开发过程中,采用了localstorage,存储以对象的形式进行(后来觉得采用无顺序的对象并不合适),因此涉及到删除的操作。1、将所存储的对象的value设置为null,但这种方式仍然会保留对象的key,在使用过程中会增加额外的判断。2、delete操作符,var obj1 = {"a" : "test"}, obj2 = {}; obj2.b = obj1.a; delete obj1.a; alert(obj2.b);测试发现,delete操作符的方法会清除key,保留value。
阅读全文
摘要:{width: 150px; overflow: hidden; text-overflow:ellipsis; white-space: nowrap;}1、之前在考虑如果进行字符串截断时,一直在思考如何用js来完成而忽略了css的text-overflow属性; 通过设置white-space:nowrap使字符串不换行,然后设置text-overflow:ellipsis,显示省略标记(如果不想显示省略标记,将text-overflow设为clip);2、缺点在于只能在只显示一行时使用。3、white-space: nowrap; 强制不换行 word-wrap:break-word..
阅读全文
摘要:(1)append()&appendTo()&prepend()$prependTo()(2)after()&before()&insertAfter()&insertBefore()1、第(1)组方法插入到目标元素内部,第二组方法插入到元素外部2、append()&appendTo()插入到元素内部的最后面,prepend()&prependTo()插入到元素内部的最前面3、append()&prepend()属于目标元素调用的方法,被插入的值以参数传入,appendTo()&prependTo()属于被插入的值调用的方
阅读全文
摘要:1、var tmp = [1,3,5,3,7,10,9,-111]; biggest = Math.max.apply(null,tmp); //根源是? alert(biggest); //10 success!但如果数组中出现undefined则会失败。出现null不会失败2、var tmp = [1,3,5,3,null,10,9,-111];var biggest; //= tmp.toString().split(",").sort().pop();for(var i=0; i 0 ? biggest : thisNum;} //成功3、尝试先sort()排序再p
阅读全文
摘要:1、$(div + p) & $(div ~ p) & $(div p) & $(div > p)$(div + p)选择紧挨在div后面的P元素$(div ~ p)选择div后面的所有同级P元素$(div p)选择div的后代元素中的所有的P元素,不仅仅是子元素$(div > p)选择div的子元素中的所有P元素2、text() & html() &val()text()获取所有选中元素中的文本的合并结果,但不能使用到input、textarea等表单元素和script标签上,如果带有参数则为所有选中的元素赋值val()主要用户获取inpu
阅读全文
摘要:原因:当定位元素的 'z-index' 未设置时(默认为 auto),设置 opacity 属性将会创建一个新的局部层叠上下文(z-index)。解决方案:1. 既然 z-index 未设置触发, 那么就在用 opacity 属性时对元素进行 position + z-index 的设置2. 既然用 opacity 会触发bug, 那么迂回一下, 避免用这个属性, 换成类似的, 比如 rgba(100,100,100, .5)相关阅读:可视化格式模型( visual formatting model )http://www.w3.org/TR/CSS21/visuren.htm
阅读全文
摘要://为url添加时间戳//time 为多长时间改变一次时间戳,以小时为单位function setTimeStamp(url, time){ var time = time || 4, timeStamp = "timeStamp=" + Math.floor(new Date()/(time * 36e5)); return url.indexOf("?") < 0 ? (url + "?" + timeStamp) : (url + "&" + timeStamp);}
阅读全文
摘要:1、被定位(相对的,绝对的)的元素会在未定位的元素前面显示2、同一被定为父级元素的两个元素,z-index值高的显示在前面(只对被定位元素起作用)3、不同被定位父级元素的两个元素,前后顺序跟父级元素的的z-index值高低有关,父级高则高。4、opacity影响元素的先后顺序,试验确实如此:将原本显示在前面的元素的opacity值设置为小于1的数之后,该元素会显示在最后面?原因尚不清楚。例子: Red Green Blue
阅读全文
摘要:1、将字符串设置为自动折行,设置容器的宽高并设置overflow为hidden。2、先将容器的宽高设置好,同时写一个和容器同宽,但高度不固定的容器设置为visibility=hidden放在容器下方,每次向高度不固定的容易中插入一个字符,从字符串的第一个开始,当容器的高度大于想要的高度时,记下该字符在字符串中的位置并截取出来插入容器,并设置为显示(操作精细但成本太高,需要多次操作DOM)。
阅读全文
摘要:history对象的三个可用方法和一个属性 back();后退 forward();前进 go(n);跳到第几个页面,负数为后退,正数为前进 length属性,获取缓存的页面的数量 安全性考虑,history无法获取其它页面信息。
阅读全文
摘要:1、右键刷新、F5、ctrl+F5、直接在地址栏按enter操作发送请求、点击页面内的按钮和window.open的区别 直接在地址栏按enter操作发送请求、点击页面内的按钮和window.open: 无缓存、发送请求并返回数据 有缓存但已过期,发送请求,并同时发送Last-Modifed、Etag等校验信息,如果无改动则返回304,有改动返回200 有缓存且没过期,不发送请求,直接使用缓存 F5、右键刷新: 无缓存、发送请求并返回数据 有缓存,不管有没有过期,都会发送请求并携带Last-Modifed、Etag等校验信息,如果无改动返回304,有改动返回2...
阅读全文
摘要:原生方法:window.onunload = window.onbeforeunload = function(){ alert("aaa");};jquery方法:$(window).on("unload beforeunload", function(){ alert("aaa");});尝试只使用onunload、unload,不生效。jquery api文档中查不到beforeunload事件,但是却起作用了。
阅读全文
摘要:1、var str = "fsfsljflsjfsjflsjlghslhjgsfsf";var step = 4; //假设固定长度为4var strLen = str.length;var arr = [];for(var i=0; i<strLen; i=i+step){ arr.push(str.substr(i, 4));}arr.join(" ");2、var str = "fsfsljflsjfsjflsjlghslhjgsfsf";var reg = /(.{4})/g;var newStr = str.repla
阅读全文
摘要:1、text-algin:center 可以使行内元素居中、也可以使块级元素中的文本居中,但不可以使块级元素本身居中2、margin:0 auto 仅可以使块级元素居中,inline和inline-block都不可以。3、绝对定位的居中:left:100px; right:100px; 左右同时设置相同值,元素(行内和块级都适用)不设置宽度,元素的宽度==容器宽度减去左右设置的值。今天学到的其它内容:1、禁止textarea调整大小:resize:none;2、很多高光可以使用border来实现,不需要整张截图。border可以突破本身的含义来使用。
阅读全文
摘要:mouseenter&mouseleave:进入被选元素触发,进入被选元素的子元素不会重复触发。mouseover&mouseout:进入被选元素触发,从被选元素进入其子元素会再次触发。因此会出现重复触发的现象。
阅读全文
摘要:学习坤哥的方法之后自己写的replaceTplfunction replaceTpl(tpl, data){///////////////没有传入可让用户自己定义的方式进行替换,不够灵活 var reg = /\{([^}*])\}/g, trim = String.trim || function(str){ str = str.replace(/^\s+|\s+$/g, ""); return str; } tpl = tpl.replace(reg, function(str, key){///////////str,key是replace...
阅读全文
摘要:this:绑定事件所触发行为的对象target:最开始冒泡的的对象currentTarget:事件触发行为的对象this == targetcurrentTarget和this 是target本身或者target的祖先元素
阅读全文
摘要:applay 这个是函数Function的方法为什么Array 也能调用这个函数?比如 function a (){ var kk = []; kk = Array.apply(kk,arguments);} 可以把参参数加到kk 这个数组里, 这里Array 的apply 是修正指针还是什么意思,?请高人指点一下, 谢谢了答案:如果单从Array的类型上看,确实不应该改可以调用apply。Array是对象,Function也是对象,但Array却不是Function。 但其实Array是一个构造函数,构造函数也是函数,所以可以调用apply();
阅读全文
摘要:1、通过Object的getOwnPropertyNames方法,获取到所有的该类数组的属性,但因为数组有默认的length属性,所以需要-1。var arr = [];arr["a"] = "A";arr[2] = "B";var result = Object.getOwnPropertyNames(arr);var len = result.length -1;2、for in遍历var arr = [];arr["a"] = "A";arr[2] = "B";var
阅读全文
摘要:同源策略跨域的集中方法:1、服务器端发送请求,服务器作为中继代理(此方法不理解)2、iframe3、script标签 通过动过动态生成script标签,并将src指向目标源的方式(img标签同样具有src属性,用img实现不行吗?)原生实现方式示例:var url="www.xxx.baidu.com/aa.js", scriptTag=document.createElement("script");scriptTag.src=url;document.getElementByTagName("head")[0].appendChi
阅读全文
摘要:localStorage,本地存储,5M,IE8+以及较新版本的主流浏览器都支持,window对象的属性用法示例:localStorage.a="a";localStorage["a"]="a";localStorage.setItem("a", "a");var a=localStorage.a;var a=localStorage["a"];var a=localStorage.getItem("a");localStorage.removeItem(
阅读全文