爱易网
IT新闻
IT新闻
爱易资讯
网站搭建
云虚拟主机教程
云服务器教程
Apache教程
IIS教程
Nginx教程
网站策划
站长文章
推广教程
淘宝客教程
网页设计
HTML教程
XHTML教程
CSS教程
HTML5教程
CSS3教程
JavaSript基础
JQuery教程
Node.js教程
前端技术
Ajax教程
Js特效
Xml教程
平面设计
页面UI设计
photoshop教程
程序开发
AI人工智能
Asp教程
Php教程
Asp.Net教程
Net Core教程
C#教程
Java教程
Jsp教程
开发技术
微信小程序教程
Uniapp开发教程
微信公众号开发
Andriod教程
IOS教程
DOS教程
Python教程
Docker教程
Windows Container教程
数据库
MSSQL教程
MySQL教程
Redis教程
Access教程
Oracle教程
数据库教程
操作系统
Linux教程
Windows教程
MAC教程
Cisco教程
交换机教程
防火墙教程
搜索
爱易网页
JavaSript
精通javascript 代码小结
精通javascript 代码小结
日期:2014-05-16 浏览次数:20563 次
精通javascript 代码总结
在看了《精通javascript 》一书中,里面讲了很多工具函数,先整理一部分。
主要在javascript和css交互的代码:
function text(e) { //获取元素文本内容 var t = ""; e = e.childNodes || e; for (var i = 0, count = e.length; i < count; i++) { t += e[i].nodeType != 1 ? e[i].nodeValue : text(e[i].childNodes); } return t; } function attr(elem, name, value) { //获取或设置元素属性值 if (!name || name.constructor != String) return ""; name = { "for": "htmlFor", "class": "className"}[name] || name; if (typeof value != "undefined") { elem[name] = value; if (elem.setAttribute) { elem.setAttribute(value); } } return elem[name] || elem.getAttribute(name) || ""; } function stopDefault(e) { //防止默认浏览器行为 if (e && e.preventDefault) { e.preventDefault(); } else { window.event.returnValue = false; } return false; } function stopBubble(e) { //阻止事件冒泡 if (e && e.stopPropagation) { e.stopPropagation(); } else { window.event.cancelBubble = true; } } //调用示例<a href="#" onclick=" alert('ok'); stopBubble(event);">demo</a> function pageX(elem) { //获取元素的水平位置 return elem.offsetParent ? elem.offsetLeft + pageX(elem.offsetParent) : elem.offsetLeft; } function pageY(elem) { //获取元素的垂直位置 return elem.offsetParent ? elem.offsetTop + pageY(elem.offsetParent) : elem.offsetTop; } function parentX(elem) { //获取元素相对于父亲的水平位置 return elem.parentNode == elem.offsetParent ? elem.offsetLeft : pageX(elem) - pageX(elem.parentNode); } function parentY(elem) { //获取元素相对于父亲的垂直位置 return elem.parentNode == elem.offsetParent ? elem.offsetTop : pageY(elem) - pageY(elem.parentNode); } function resetCss(elem, prop) { //设置css一组属性,它可以恢复到原有的设置 var old = {}; for (var i in prop) { old[i] = elem.style[i]; elem.style[i] = prop[i]; } return old; } function restoreCss(elem, prop) { for (var i in prop) { elem.style[i] = prop[i]; } } function getStyle(elem, styleName) { if (elem.style[styleName]) {//内联样式 return elem.style[styleName]; } else if (elem.currentStyle) {//IE return elem.currentStyle[styleName]; } else if (document.defaultView && document.defaultView.getComputedStyle) {//DOM styleName = styleName.replace(/([A-Z])/g, '-$1').toLowerCase(); var s = document.defaultView.getComputedStyle(elem, ''); return s && s.getPropertyValue(styleName); } else {//other,for example, Safari return null; } } function fullHeight(elem) { //查找元素可能的高度 //如果元素显示那么使用offsetHeight就可以得到高度,如果没有offsetHeight,则使用getHeight() if (getStyle(elem, "display") != "none") { return elem.offsetHeight ; } var oldcss = resetCss(elem, { display: "", visibility: "hidden", position: "absolute" }); var height = elem.clientHeight ; restoreCss(elem, oldcss); return height; } function fullWidth(elem) { //查找元素可能的高度 //如果元素显示那么使用offsetWidth就可以得到高度,如果没有offsetWidth,则使用getWidth() if (getStyle(elem, "display") != "none") { return elem.offsetWidth ; } var oldcss = resetCss(elem, { display: "", visibility: "hidden", position: "absolute" }); var width = elem.client
上一篇: ssh如何知道删除实体成不成功
下一篇: 重定义extjs中button被点击后的式样
免责声明:
本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
相关资料
更多>
iframe 页面跳转时怎么知道其转向的 URL
jsp页面施用Cookie-总结
将杂乱的js打包成模块
急问当某个事件发生实,怎么把该页面置顶以提示用户
如何在每个div处点击后都显示在屏幕的正中间啊
js获取客户端mac(摘记整理)
鼠标移到图片上,图片的右上角显示一个小叉叉,是如何做的
JSF2 点滴累积
他是怎的越过表单中的必选项到达后台文件的
推荐阅读
更多>
IE6 图片轮换效果JS报类不能支持automation操作,该怎么处理
关于ExtJS中的编码有关问题
如何才能让一个循环的结果输出到一个文本框内
Android Json解析之直接对象解析(3)
JS里的open方法有关问题,()
有个下拉列表框,其中有一项值是”其它“,在下拉列表框的下面有三个文本框,当选择了下拉列表框中得”其它“时,下面得三个文本框就不让,该如何解决
js各进制其间的相互转换
EXT JS 四 MVC 分页的例子
小弟我的第一个JSP
js四舍五入的有关问题
easyui 点击according创建tab解决思路
JSP页面打印(2)
json-lib.jar 开发包应用
js三秒自动跳转
dom有没有唯一不可变的属性?解决方案
Struts2.1运用注解配置json 用jquery读取后台数据
动态平添Javascript链接以增加网页渲染速度
遇见了一个js异常,知道后郁闷了半天
请问DOM一个小疑点
Js之appendChild() insertBefore() 跟扩展的 insertAfter()