昨天参加的一个前端面试,其中有一题数组去重,首先想到的是对象存键值的方法,代码如下 方法一:(简单存键值) 代码如下: Array.prototype.distinct1 = function() { var i=0,tmp={},that=this.slice(0) this.length=0; for(;i<that.length;i++){ if(!(that[i] in tmp)){ this[this.length]=that[i]; tmp[that[i]]=true; } } return this; }; 上面的方法不复杂,思路也简单,可是遇到不同类型又能转换成同样的字符串的就完了,...
网上的例子用的是$(".b").live("click",function(event){} ,jquery自动对live做了处理,阻止了事件冒泡。改成bind,实验就能通过。 代码如下: < !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 无标题文档 $(function(){ $(".b").bind("click",function(event){ $(this).css("color","#FF3300"); event.stopPropagation()//注释掉,效果是不一...
1.获取样式表里面的width,border color 之类的css(不是行间) 主要是IE6-7支持currentStyle,标准浏览器支持getComputedStyle;实例:封装函数 代码如下: function getStyle(obj,name){ if(obj.currentStyle){ return obj.currentStyle[name]; } else{ return getComputedStyle(obj,false)[name]; } } 调用:getStyle('color'); 2.获取滚动的距离 document.body.scrollTop 适用于 标准浏览器 document.documentElement.scrollTop 适...
我们先看一下三种算法以及在各种浏览器下的表现。第一种: 直接操作dom。 代码如下:"http://www.w3.org/TR/html4/loose.dtd"> New Web Project microtime = function(get_as_float) { var now = new Date().getTime() / 1000; var s = parseInt(now, 10); return (get_as_float) ? now : (Math.round((now - s) * 1000) / 1000) + ' ' + s;}var m1 = microtime(true);...
document.styleSheets里保存了当前页面上所有CSS规则的集合。通过它可以遍历出页面里定义的所有selector,访问selectorText属性可得选择器的匹配规则。然后将规则规则传递给 document.querySelectorAll 即可获取页面内匹配此规则的元素列表。这里我们只求CSS规则的覆盖率,所以访问 querySelectorAll().length 即可。通过排序就可看出各个CSS使用情况。代码很简单。代码如下:var usage = [];var sheets = document.styleSheets; fo...
代码如下: JSON序列化与解析(原生JS + Object对象拓展方法)【IE6和chrome测试通过】 var ele = { x:11, y:'string', z:{x:11, y:'string'} } toJSON = function(obj){ var arr = []; for(var key in obj){ var value = obj[key]; if(value == null){ value = ''; }else{ value = (typeof value === 'string' | typeof value === 'number') ? ('"' + value + '"') : toJSON(value); } var str = '"' + key + '":' + value;...
在ajax请求中,如果服务器端的响应是302 Found,在ajax的回调函数中能够获取这个状态码吗?能够从Response Headers中得到Location的值进行重定向吗?让我们来一起看看实际情况。使用jquery的$.ajax()发起ajax请求的javascript代码如下: 代码如下:$.ajax({ url: /oauth/respond, type: post, data: data, complete: function(jqXHR){ console.log(jqXHR.status); }, error: function (xhr) { cons...
插件版本:jquery-1.6.min.js 代码如下: var chk_value=""; $(input[name="rootMenu"]).each(function () { if (this.checked) { chk_value += this.value + "$"; } }); alert(chk_value); chk_value.split(",");
简介: Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。 事件通常与函数结合使用,函数不会在事件发生前被执行! Event对象的获取方法: 方法一: 例如: 代码如下: function demo1(e){ var e = e || window.event; //此种方法在ie中和google中可以不传参数e也可以获取到event,但是在火狐中必须在事件方法中传递event参数 //才可以获取到event对象。 } 方法二:通用的方便...
最近正在回顾之前的一些基础知识,用jquery写了一个图片滑动的插件,虽然还是有些问题存在,用法很简单,只要在对目标元素绑定slideW()函数即可,该函数最多支持两个输入,分别是图片变化之后的宽度,以及动画的速度,如果不输入,则采用默认的宽度以及默认的速度。 下面是我自己测试的例子: 代码如下: //html代码 css代码 代码如下: //css代码 *{margin:0px;padding:0px;list-style-type:none;} body{text-align:cent...
如何用JS特效显示自己的屏幕分辨率以及屏幕尺寸呢?请看下面一段代码: 代码如下: JS测试显示器分辨率
一、什么是 QUnit QUnit(http://qunitjs.com/) 是一个非常强大的javascript单元测试框架,可以帮你调试代码。它是由 jQuery 团队的成员写的,而且是 jQuery 的官方测试套装。但QUnit一般是足以测试任何常规 javascript 代码,它甚至可能通过一些 javascript 引擎比如 Rhino 或 V8 来测试服务器端 JavaScript。如果你不熟悉“单元测试”的概念,请不要担心。这不是很难理解的:代码如下:在计算机编程中,单元测试(又称为模块测试...
概念 Node.js 是构建在Chrome javascript runtime之上的平台,能够很容易的构建快速的,可伸缩性的网络应用程序。Node.js使用事件驱动,非阻塞I/O 模式,这使它能够更轻量,高效且完美的适用于运行在分布式设备之间的数据密集型实时应用程序。 安装 这里主要介绍基于windows平台上最简单方便的安装方式,我们首先直接访问node.js官方网站http://www.nodejs.org/,直接点击Install按钮开始下载安装。点击Run按钮开始运行继续点击Nex...
这代码实现的功能就是平常我们遇到的一个div里面包含img的时候,在img图片大小未知,div大小未知的情况下,让图片自适应大小,对于图片本身小于div容器大小时,不作处理。因为如果拉伸,图片可能就失真了。 废话不多说,直接上代码,已测试,兼容火狐,谷歌,IE6,IE7/8 以下是js代码: 代码如下: window.onload=function(){ changeImgSize(); } function changeImgSize(){ var getContainer=document.getElementById('imgcontai...