Kampfer的记事本

新blog:www.kampfer-lw.com

导航

随笔分类 -  JavaScript

包括DHTML效果和DOM
摘要:以下部分内容翻译自 W3C 的 CSSOM View Module,W3C 工作草案 2008年2月22日。 在元素 A 上调用 offsetTop 属性时,必须按以下算法返回结果值: 如果元素 A 是 HTML 的 body 元素,其 display 属性计算值是 none,或者不具有 CSS 布局盒子,则返回 0,并停止本算法。如果元素 A 的 offsetParent 是 null 或者是 ... 阅读全文

posted @ 2010-10-11 15:43 Kamfper 阅读(1501) 评论(0) 推荐(0)

摘要:document.styleSheets可以获得样式表的集合,因为浏览器之间有很大不同,访问样式表的单独规则也不同.DOM为每一个样式表指 定一个cssRules集合,Mozilla和Safari正确实现了这个标准,不过可惜IE中定义这个集合为rules,因此可以使用以下代码来获得正 确的对象: var oCssRules=document.styleSheets[0].cssRules||do... 阅读全文

posted @ 2010-10-11 12:46 Kamfper 阅读(441) 评论(0) 推荐(0)

摘要:document.getElementById("btn").onclick = method1;document.getElementById("btn").onclick = method2;document.getElementById("btn").onclick = method3;如果这样写,那么将会只有medhot3被执行写成这样:var btn1Obj = document.get... 阅读全文

posted @ 2010-08-29 17:02 Kamfper 阅读(338) 评论(0) 推荐(0)

摘要:网页中获取滚动条卷去部分的高度,可以通过 document.body.scrollTop 来获取,比如使div跟着滚动条滚动:运行后没有达到预期效果,输出 document.body.scrollTop 的值一看,一直都是 0。一翻折腾,原来是 DTD 的问题,要是页面直接用 <html> 开头的话就没有问题了。但是要符合 web 标准,DTD 当然是不能少的。如果有 DTD 时用,那... 阅读全文

posted @ 2010-08-29 16:17 Kamfper 阅读(685) 评论(0) 推荐(0)

摘要:1. document.form.item 问题(1)现有问题:现有代码中存在许多 document.formName.item("itemName") 这样的语句,不能在Firefox(火狐)下运行(2)解决方法:改用 document.formName.elements["elementName"](3)其它参见 22. 集合类对象问题(1)现有问题:现有代码中许多集合类对象取用时使用 (),... 阅读全文

posted @ 2010-08-24 21:27 Kamfper 阅读(537) 评论(0) 推荐(0)

摘要:最近看了篇关于this和上下文环境的文章,觉得自己也有必要总结一下。 首先说明什么是上下文环境。JavaScript中的this关键字通常都会指向当前函数的拥有者,在JavaScript中通常把这个拥有者叫做执行上下文,函数的执行上下文由当前的执行环境来决定。另外就是要区别上下文环境和作用域:上下文环境是在执行时确定的,是可能改变的,而作用域是在定义时确定的,是不会变的。 再来说明的就是this... 阅读全文

posted @ 2010-08-05 11:23 Kamfper 阅读(232) 评论(0) 推荐(0)

摘要:1.折叠菜单用的方法比较笨拙,但是贵在有效,不绕圈子,一看就懂。我已经在演示中加上了很详尽的注解,直接看Demo吧。另外以后我还想给这个实例加上其他的效果:(1).更换页面能保存浏览状态状态。这个在蓝色理想我看到了一些思路:形式1(菜单有刷新页面事件)、分二种方式。方式1、客户端判断获得值(地址栏值)让菜单在打开时显示。方式2、服务端判断获得值(地址栏值)让菜单在打开时显示。形式2(菜单无刷新页面... 阅读全文

posted @ 2010-07-28 15:11 Kamfper 阅读(865) 评论(0) 推荐(0)

摘要:此效果来自蓝色理想,这里我只是放个Demo,方便自己以后研究。我已在代码中添加了比较详细的注释,在这里我只提几点:1.[代码]2.[代码]这里的getBoundingClinetRect()方法以前是IE Only的,但是现在FF3.0+和Opera9.5+已经支持了该方法。该方法获得页面中某个元素的左,上,右和下便边框分别相对浏览器视窗的位置。看图就直观点:注意第二张图移动了scroll!!更多... 阅读全文

posted @ 2010-07-27 17:02 Kamfper 阅读(306) 评论(0) 推荐(0)

摘要:注释1:上图整个大背景是这个网页的全部尺寸,中间的小框才是浏览器中的可见尺寸。这幅图就是针对为文档(document)的各个height、width、top、left所做的说明。注释2:第二幅图主要是针对网页中一个div的各个属性值所做的说明。“DIV element client area”是这个div元素的可见区域,“scroll area”是这... 阅读全文

posted @ 2010-07-27 15:55 Kamfper 阅读(879) 评论(2) 推荐(0)

摘要:先看看效果把:Demo接下来是思路的分析:首先是主函数的思路:1.提取列表的第一个li,并copy它。2.检查li的margin-top是否为-20px。 如果为true,就从ul里删除第一个li,再将它的副本添加到ul的最后。并且将li的margin-top重置为0; 如果为false,就减小margin-top,比如-2等。利用setTimeout调用主函数直到步骤2判定为true;然后是: ... 阅读全文

posted @ 2010-07-25 17:07 Kamfper 阅读(185) 评论(0) 推荐(0)

摘要:先看看实际的效果:Demo[程序说明]主要为calendar类,里面的方法说明有:getFirstDay:获取每个月第一天再星期几getMonthLen:获取当月总共有多少天createCalendar:创建日历方法clearCalendar:清空TABLE方法init:运行方法[方法介绍]getFirstDay中主要用了new Date()的getDay()方法,该方法是用于获取日期所在星期几.... 阅读全文

posted @ 2010-07-25 16:50 Kamfper 阅读(583) 评论(0) 推荐(0)