Category Archives: JS&Library

offsetWidth ClientHeight clientWidth scrollTop 有无doctype声明情况下, FF/Opera/Safari/IE6/7/8 取值方式全解析

为即将诞生的S系原生交互组建做的一些准备。 主要针对以下几个关键值进行多浏览器试验测试,力求数据详实完整。 可以为以后开发提供底层参考依据。 [offsetWidth:有声明] IE/FF3.6/Opera/Safari = width+padding+border [offsetWidth:无声明] FF/Opera/Safari = width+padding+border IE6/7/8= width ——————————————————————————————– [ClientHeight:有声明] FF3.6/Safari/Opera10+ document.documentElement.clientHeight = 可见高度 document.body.clientHeight = dom高度  //dom不包括html IE6/7/8 document.documentElement.clientHeight = 可见高度 document.body.clientHeight = dom高度 //dom不包括html [ClientHeight:无声名] Opera10+ document.documentElement.clientHeight = dom高度 + (margin:4px/8px) //dom包括html overflow:hidden无效 … Continue reading

Posted in JS&Library | Tagged , , , , | Leave a comment

关于scrolltop的应用真正兼容 IE6/7 , Safari,FF

关于浏览器兼容 的YY问题就不多讨论了,虽然很痛苦,但是依旧要承受 . JS 里的 scrollTop 函数, 通常在做对象垂直居中,或固定浮动在窗口某个位置时会用到 1、各浏览器下 scrollTop的差异 IE6/7 : 对于没有doctype声明的页面里可以使用  document.body.scrollTop 来获取 scrollTop高度 ; 对于有doctype声明的页面则可以使用 document.documentElement.scrollTop  ; Safari: safari 比较特别,有自己获取scrollTop的函数 : window.pageYOffset ; Firefox: 火狐等等相对标准些的浏览器就省心多了,直接用 document.documentElement.scrollTop ; 2、获取scrollTop值 完美的获取scrollTop 赋值短语 : var scrollTop = document.documentElement.scrollTop || window.pageYOffset … Continue reading

Posted in JS&Library | Leave a comment

Date对象梳理及应用

先了解下什么是UTC UTC是协调世界时(Universal Time Coordinated)英文缩写,是由国际无线电咨询委员会规定和推荐,并由国际时间局(BIH)负责保持的以秒为基础的时间标度。UTC相当于本初子午线(即经度0度)上的平均太阳时,过去曾用格林威治平均时(GMT)来表示.北京时间比UTC时间早8小时,以1999年1月1日0000UTC为例,UTC时间是零点,北京时间为1999年1月1日早上8点整。 GMT(Greenwich Mean Time)是格林尼治平时(我都习惯叫做格林威治): 由于地球轨道并非圆形,其运行速度又随着地球与太阳的距离改变而出现变化,因此视太阳时欠缺均匀性。视太阳日的长度同时亦受到地球自转轴相对轨道面的倾斜度所影响。为着要纠正上述的不均匀性,天文学家计算地球非圆形轨迹与极轴倾斜对视太阳时的效应。平太阳时就是指经修订后的视太阳时。在格林尼治子午线上的平太阳时称为世界时(UT0),又叫格林尼治平时(GMT)。 为了确保协调世界时与世界时(UT1)相差不会超过0.9秒,有需要时便会在协调世界时内加上正或负闰秒。因此协调世界时与国际原子时(TAI)之间会出现若干整数秒的差别。位于巴黎的国际地球自转事务中央局(IERS)负责决定何时加入闰秒。 常用计时: UTC(世界标准时间)、GMT(格林威治时间)、本地时间. 相关函数纵览 //全局函数 Date //Date 类的静态方法 Date.parse Date.UTC //Date 对象的建立方法 new Date() new Date(毫秒数) new Date(标准时间格式字符串) new Date(年, 月, 日, 时, 分, 秒, 毫秒) //Date 对象的更多方法 getFullYear (getUTCFullYear) getMonth (getUTCMonth) … Continue reading

Posted in JS&Library, 实验室 | Tagged , , | Leave a comment

为什么要使用JQ1.4

为庆祝jQuery的四周年生日,jQuery官方团队正式发布了jQuery 1.4版本。在这个版本中,jQuery官方团队做了大量的编码、测试和文档工作,相对之前版本自然改进不少,让我们一起来看看有那些新变化吧。 本文分上下两篇,上篇主要总体介绍jQuery 1.4版本的相关使用及更新,下篇通过一些代码示例来展示更新的方法及新添加的方法。 【下载及调用】 像以往一样,官方提供了jQuery的两份拷贝,一份是压缩版本(使用Google Closure Compiler压缩,之前使用的是YUI),另一份是未压缩版本(用来调试和阅读)。 jQuery压缩版本(23kb,gzip压缩后) jQuery未压缩版本(154kb) 之前曾提议过 通过google服务器加载jQuery,提高加载速度。现在,我们依然可以通过Google的服务器调用压缩后的jQuery 1.4版本文件,如下: <script src=”http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js” type=”text/javascript”><!–mce:0–></script> 【新特性及变化】 在jQuery 1.4中,许多常用的jQuery方法被重写,这些改进不仅更易用,也带来了性能的显著提升。 注:以下为概述,不详之处参见下篇的代码解释。 1、为一些方法添加设置函数(Setter Functions) 在之前版本中,我们可以给attr()方法传入一个函数,将函数的返回值赋予某个属性。1.4中,这个功能被添加到了更多的方法中:.css()、 .attr()、 .val()、 .html()、 .text()、 .append()、.prepend()、 .before()、 .after()、.replaceWith(), .wrap()、 .wrapInner()、 .offset()、 .addClass()、 .removeClass()、 .toggleClass()。 此外,在下面方法中,还可以传入当前值作为设置函数的第二个参数,供设置函数使用:.css()、.attr()、.val()、.html()、.text()、.append()、.prepend()、.offset()、.addClass()、.removeClass()、和 .toggleClass()。例如: jQuery(‘<img src=”enter.png” alt=”enter … Continue reading

Posted in JS&Library, 产品交互 | Leave a comment