建站极客
网络编程 JavaScript 正文
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.3
所属分类:
网络编程 / JavaScript
阅读数:
1420
收藏 0
赞 0
分享
var patterns = { HYPHEN: /(-[a-z])/i, ROOT_TAG: /^body|html$/i }; var toCamel = function(property) { // 如果没有 -[a-z] 字母,则直接返回 if ( !patterns.HYPHEN.test(property) ) { return property; } // 如果有缓存,直接返回替换后的值 if (propertyCache[property]) { return propertyCache[property]; } // 使用正则替换 var converted = property; while( patterns.HYPHEN.exec(converted) ) { converted = converted.replace(RegExp.$1, RegExp.$1.substr(1).toUpperCase()); } // 存入缓存 propertyCache[property] = converted; return converted; };在 YAHOO.util.Dom 中,getStyle 函数考虑了更多不同浏览器兼容性方面的问题,代码如下 // 使用 W3C DOM 标准的浏览器,比如 Firefox、Opera、Safari if (document.defaultView && document.defaultView.getComputedStyle) { getStyle = function(el, property) { var value = null; // 重命名部分 CSS 样式名 if (property == 'float') { property = 'cssFloat'; } // 获取通过 CSS 加上去的属性 var computed = document.defaultView.getComputedStyle(el, ''); if (computed) { value = computed[toCamel(property)]; } return el.style[property] || value; }; // 如果是 IE 浏览器 } else if (document.documentElement.currentStyle && isIE) { getStyle = function(el, property) { switch( toCamel(property) ) { // “转换”名称为 IE 可以认识的 case 'opacity' : var val = 100; try { val = el.filters['DXImageTransform.Microsoft.Alpha'].opacity; } catch(e) { try { val = el.filters('alpha').opacity; } catch(e) { } } // 百分比 return val / 100; case 'float': property = 'styleFloat'; default: var value = el.currentStyle ? el.currentStyle[property] : null; return ( el.style[property] || value ); } }; } else { // 获取内联样式 getStyle = function(el, property) { return el.style[property]; }; }另外,PPK 在他的 Blog 上的有关 getStyle 的阐述,也很精彩,有兴趣的可以去看下。
纯javascript判断查询日期是否为有效日期 很多网站都涉及到输入日期选项,如果客户日期输入错误,可能导入查询不到甚至查询到错误的信息,为了更好的满足用户需求,需要对日期进行校验,下面给大家介绍使用纯javascript如何判断查询日期是否为有效日期,需要的朋友可以参考下
评论 0
收藏 0
赞 0
分享
jquery实现的蓝色二级导航条效果代码 这篇文章主要介绍了jquery实现的蓝色二级导航条效果代码,涉及jquery鼠标事件及页面样式的动态切换效果实现技巧,非常简单实用,需要的朋友可以参考下
评论 0
收藏 0
赞 0
分享
ajax如何实现页面局部跳转与结果返回 AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术,通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新,本篇文章给大家介绍ajax如何实现页面局部跳转与结果返
评论 0
收藏 0
赞 0
分享
js实现的黑背景灰色二级导航菜单效果代码 这篇文章主要介绍了js实现的黑背景灰色二级导航菜单效果代码,涉及javascript操作页面元素动态切换的实现技巧,非常具有实用价值,需要的朋友可以参考下
评论 0
收藏 0
赞 0
分享
javascript中SetInterval与setTimeout的定时器用法 Javascript的setTimeOut和setInterval函数应用非常广泛,它们都用来处理延时和定时任务,比如打开网页一段时间后弹出一个登录框,页面每隔一段时间发送异步请求获取最新数据等,本文文章通过代码示例给大家介绍javascript中SetInterval与setT
评论 0
收藏 0
赞 0
分享
jQuery实现的背景动态变化导航菜单效果 这篇文章主要介绍了jQuery实现的背景动态变化导航菜单效果,涉及jquery页面元素背景动态变换的实现技巧,非常具有实用价值,需要的朋友可以参考下
评论 0
收藏 0
赞 0
分享
查看更多