摘要:在IE下是支持firstChild,lastChild,nextSibling,previousSibling但是在FF下,由于它会把标签之间的空格当成文本节点,所以为了准确地找到相应的元素,会用firstElementChild,lastElementChild,nextElementSibling,previousElementSibling兼容的写法是这样的var oFirst = oParent.firstElementChild||oParent.firstChild 也可以这么写 var oFirst = oParent.children[0]; var oLast = oPare
阅读全文
摘要:因为FF下,会把标签之间的空格也算进去,所以很多时候,oParent.childNodes.length在FF和IE下是不同的,为了排除这种影响可以和nodeType结合起来用当nodeType=1时是元素节点当nodeType=2时是属性节点当nodeType=3时是文本节点那么可以结合nodeType得到父元素的子节点,具体函数代码如下:function getChildren(oParent){ var aResult = []; var aChild = oParent.childNodes; for(var i=0;i<aChild.length;i++) ...
阅读全文
摘要:一,选取元素function getByClass(oParent,sClass){ var aResult = []; var aEle = oParent.getElementsByTagName("*"); for(var i=0;i<aEle.length;i++) { if(aEle[i].className==sClass) { aResult.push(aEle[i]); } } return a...
阅读全文
摘要:要实现倒计时的问题,用setTimeout和setInterval都可以实现,用setInterval函数一般会这样写:var count = 100;function a(count){ count--;}setInterval(a,1000,count);用setTimeout会这样写:var count = 100;function a(count){ count--; setTimeout(a,1000,count);}乍一看,好像这两个函数效果是一样的,都是1秒钟执行一次,但是实际上的运行结果是有不同的,第一种写法,count运行后始终为99,因为...
阅读全文
摘要:页面代码如下:<ul id="ul1"> <li>abc</li></ul>分别用如下js代码创建元素,并给创建的元素赋予文本,有两种写法写法一:window.onload=function(){ var oUl = document.getElementById("ul1"); var oLi = document.createElement("li"); oLi.innerHTML="abc"; oUl.appendChild(oLi);};写法二:window.
阅读全文
摘要:关于这样的菜单制作,如图关于HTML/CSS部分的 运用到了css精灵技术,几个注意点,左右部分分别用一个标签,然后用绝对定位分别控制,中间部分相对定位平铺菜单选择项这里,用两个标签来控制,外面的标签背景是右边红色框框部分,里面标签是左边红色框框部分。二。关于javascript原理 菜单选项有2种状态“normal”,“active” 隐藏项有2种状态"dispaly:none","display:none" 分别定义两个数组,分别存放菜单选项(“首页”,“关于我们”。。。)和隐藏项(鼠标划过菜单选项弹出的部分),还要定义一个计时变量timer, 遍历
阅读全文
摘要:分别讨论return false 在原生javascript 以及 jquery 以及在VQuery中如何写出即阻止默认事件也阻止冒泡的return false;先看原生JS 以下是代码window.onload=function(){ var aDiv = document.getElementsByTagName("div"); for(var i=0;i<aDiv.length;i++) { aDiv[i].onclick=function() { alert(this.style.backgroundColor)...
阅读全文
摘要:javascript具有自动垃圾收集机制,也就是说,这个机制会找到不再使用的变量,然后释放其内存。为此,垃圾收集器(GC:Garbage collecation)会按照固定的时间间隔(或代码执行中预定的收集时间),周期性地执行这一操作。垃圾收集机制具体到浏览器有两种策略:一,标记清除。 当变量进入环境(例如,在函数中声明一个变量)时,就将这个变量标记为"进入环境"。而当变量离开环境时,则将其标记为“离开环境”。"离开环境"的变量将被视为准备删除的变量,最后,垃圾收集器完成内存清除工作,销毁"离开环境"的值并回收它们所占用的内存空间。
阅读全文
摘要:一,HTML代码<div id="box"> <div id="slide_box"> <ul id="slide"> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> </ul> </div> <div id="up_btn">上&
阅读全文
摘要:文章转载自:http://www.felixwoo.com/archives/247最近在网上查阅了不少Javascript闭包(closure)相关的资料,写的大多是非常的学术和专业。对于初学者来说别说理解闭包了,就连文字叙述都很难看懂。撰写此文的目的就是用最通俗的文字揭开Javascript闭包的真实面目。闭包函数具有全局性,也就是this 等于 window 。(此处为我个人的观点)一、什么是闭包?“官方”的解释是:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。相信很少有人能直接看懂这句话,因为他描述的太学术。其实这句话通俗的来
阅读全文
摘要:这种方法既能支持背景也支持插入的img图片,只需要下载一个JS<a href="http://files.cnblogs.com/ggbd-lie/DD_belatedPNG.js" target="_blank">DD_betatePNG.js</a> .然后调用DD_belatedPNG.fix("element"); 调用方法类似于jQuery里的选择元素。 例如:element="#content" 或者 element=".content" 如果选择多个 ele
阅读全文
摘要:取鼠标坐标位置有这些:鼠标在视口的坐标位置(clientX,clientY),鼠标在页面的坐标位置(pageX,pageY),鼠标在屏幕的坐标位置(screenX,screenY),其中鼠标在视口的坐标位置(clientX,clientY),以及鼠标在屏幕的坐标位置(screenX,screenY)在所有的浏览器中都支持,但是鼠标在页面的坐标位置(pageX,pageY)在IE8及更早版本不支持,但是没有关系,可以通过scrollLeft 和 scrollTop可以计算出pageX,pageY的值。首先是跨浏览器的事件对象var EventUtil = { addHandler:func...
阅读全文
摘要:var EventUtil={ addHandler:function(element,type,handler){ if(element.addEventListener){ element.addEventListener(type,handler,false); }else if(element.attachEvent){ element.attachEvent("on"+type,handler); }else{ element["on"+type]=handler; ...
阅读全文
摘要:<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title><style>*{ padding:0; margin:0;}body{ width:100%; height:2000px;}#myDiv{ width:200px; height:200p
阅读全文
摘要:document.body取得的是文档的body节点 ,document.documentElement取得的是文档的跟节点<html>,要取得文档的scrollTop应该用document.documentElement.scrollTop但是在IE下是怪异模式,不把<html>当成盒子模型,取不到document.documentElement.scrollTop的值,但是把body元素当成盒子模型的,因此通过document.body.scrollTop可以取到scrollTop的值,因此针对各浏览器,可以这么写:function getWinScrollTop(
阅读全文
摘要:如果有内联样式通过elem.style.backgroundPosition可以取得backgroundPositionX和backgroundPositionY两个值,但是如果没有内联样式通过计算样式getComputedStyle(elem,null).backgroundPosition得到的总是返回IE下的backgroundPositionX的值,我还没有找到通过getComputedStyle(elem,null)方法得到backgroundPositionY的值得方法,等到找到了再添上来,下面是兼容各浏览器取得backgroundPositionX的方法:今天遇到了获取backg
阅读全文
摘要:最近在公司做项目,遇到用setTimeout的情况比较的多,所以想单独的把这个知识点拿出来详细的了解下,看了一些资料,对setTimeout的用法发表一些看法,可能等我学得高深了回过头来看看自己的看法,觉得讲得并不那么的好,但是谨以此篇记录下来我学习的足迹已经对自己的交待。一,不带参数的 a,setTimeout("alert('3秒后执行我')",3000); //直接把执行语句放在双引号里当参数b,setTimeout(function(){alert("3秒后执行我");},3000); //直接把一个包含执行语句的匿名函数当参数c
阅读全文
摘要:在WEB开发的实际过程中经常遇到加载入的图片,而有些操作需要知道这些加载进来的图片的宽和高,用JQUERY的$("img").height();或者$("img").width();并不是所有的浏览器都能取到,也试过javascript的function getImgProperty(elem,property){ var img = new Image(); img.src=elem.src; var w,h; w=img.width; h=img.height; return "width:"+w+"height:&qu
阅读全文
摘要:今天为了解决这个问题花了好久,其实原理是很简单,但是没有想到这里的话,是一下子拿它没折,可能就因为它很简单,所以潜意识里被我忽视。一开始代码是这样的<script> var elem=document.getElementById("elemID"); function(elem) { if(elem.style.height) { .................; } }</script>我怎么写总是报错,说elem is null; 我找了很多办法,以为对象参数的传递方式我搞错了,或者...
阅读全文
摘要:通过element.style[property]可以设置样式以及取得内联样式,即<div id="myDiv" style="color=#666; width=100px; height=200px;"></div> 通过 document.getElementById("myDiv").style.color可以取得#666;通过document.getElementById("myDiv").styly.width可以取得100px;通过document.getElementById
阅读全文