你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / Web开发
精通javascript 代码总结
 
[javascript] 
1. function text(e) { 
2.        //获取元素文本内容    
3.        var t = ""; 
4.        e = e.childNodes || e; 
5.        for (var i = 0, count = e.length; i < count; i++) { 
6.            t += e[i].nodeType != 1 ? e[i].nodeValue : text(e[i].childNodes); 
7.        } 
8.        return t; 
9.    } 
10.    function attr(elem, name, value) { 
11.        //获取或设置元素属性值    
12.        if (!name || name.constructor != String) return ""; 
13.        name = { "for": "htmlFor", "class": "className"}[name] || name; 
14.        if (typeof value != "undefined") { 
15.            elem[name] = value; 
16.            if (elem.setAttribute) { 
17.                elem.setAttribute(value); 
18.            } 
19.        } 
20.        return elem[name] || elem.getAttribute(name) || ""; 
21.    } 
22.    function stopDefault(e) { 
23.        //防止默认浏览器行为    
24.        if (e && e.preventDefault) { 
25.            e.preventDefault(); 
26.        } 
27.        else { 
28.            window.event.returnValue = false; 
29.        } 
30.        return false; 
31.    } 
32.    function stopBubble(e) { 
33.        //阻止事件冒泡    
34.        if (e && e.stopPropagation) { 
35.            e.stopPropagation(); 
36.        } 
37.        else { 
38.            window.event.cancelBubble = true; 
39.        } 
40.    } 
41.    //调用示例<a href="#"  onclick=" alert('ok'); stopBubble(event);">demo</a>     
42.    function pageX(elem) { 
43.        //获取元素的水平位置  
44.        return elem.offsetParent ? elem.offsetLeft + pageX(elem.offsetParent) : elem.offsetLeft; 
45.    } 
46.    function pageY(elem) { 
47.        //获取元素的垂直位置  
48.        return elem.offsetParent ? elem.offsetTop + pageY(elem.offsetParent) : elem.offsetTop; 
49.    } 
50.    function parentX(elem) { 
51.        //获取元素相对于父亲的水平位置  
52.        return elem.parentNode == elem.offsetParent ? elem.offsetLeft : pageX(elem) - pageX(elem.parentNode); 
53.    } 
54.    function parentY(elem) { 
55.        //获取元素相对于父亲的垂直位置  
56.        return elem.parentNode == elem.offsetParent ? elem.offsetTop : pageY(elem) - pageY(elem.parentNode); 
57.    } 
58.    function resetCss(elem, prop) { 
59.        //设置css一组属性,它可以恢复到原有的设置  
60.        var old = {}; 
61.        for (var i in prop) { 
62.            old[i] = elem.style[i]; 
63.            elem.style[i] = prop[i]; 
64.        } 
65.        return old; 
66.    } 
67.    function restoreCss(elem, prop) { 
68.        for (var i in prop) { 
69.            elem.style[i] = prop[i]; 
70.        } 
71.    } 
72.    function getStyle(elem, styleName) { 
73.        if (elem.style[styleName]) {//内联样式  
74.            return elem.style[styleName]; 
75.        } 
76.        else if (elem.currentStyle) {//IE  
77.            return elem.currentStyle[styleName]; 
78.        } 
79.        else if (document.defaultView && document.defaultView.getComputedStyle) {//DOM  
80.            styleName = styleName.replace(/([A-Z])/g, '-$1').toLowerCase(); 
81.            var s = document.defaultView.getComputedStyle(elem, ''); 
82.            return s && s.getPropertyValue(styleName); 
83.        } 
84.        else {//other,for example, Safari  
85.            return null; 
86.        } 
87.    } 
88.    function fullHeight(elem) { 
89.        //查找元素可能的高度  
90.        //如果元素显示那么使用offsetHeight就可以得到高度,如果没有offsetHeight,则使用getHeight()  
91.        if (getStyle(elem, "display") != "none") { 
92.            return elem.offsetHeight ; 
93.        } 
94.        var oldcss = resetCss(elem, { display: "", visibility: "hidden", position: "absolute" }); 
95.        var height = elem.clientHeight ; 
96.        restoreCss(elem, oldcss); 
97.        return height; 
98.    } 
99.    function fullWidth(elem) { 
100.        //查找元素可能的高度  
101.        //如果元素显示那么使用offsetWidth就可以得到高度,如果没有offsetWidth,则使用getWidth()  
102.        if (getStyle(elem, "display") != "none") { 
103.            return elem.offsetWidth ; 
104.        } 
105.        var oldcss = resetCss(elem, { display: "", visibility: "hidden", position: "absolute" }); 
106.        var width = elem.clientWidth ; 
107.        restoreCss(elem, oldcss); 
108.        return width; 
109.    } 
110.    function setOpacity(elem, level) { 
111.        //这是元素透明度  
112.        if (elem.filiters) { 
113.            elem.style.filters = "alpha(opacity='" + level + "')"; 
114.        } 
115.        else { 
116.            elem.style.opacity = level / 100; 
117.        } 
118.    } 
119.    function cursorX(e) { 
120.    //获取光标水平位置  
121.        e = e || window.event; 
122.        //先检查非IE浏览器位置再检查IE位置  
123.        return e.pageX || e.clientX + document.body.scrollLeft; 
124.    } 
125.    function cursorY(e) { 
126.        //获取光标垂直位置  
127.        e = e || window.event; 
128.        return e.pageY || e.clientY+ document.body.scrollTop; 
129.    } 
130.    function scrollX() { 
131.        //确定浏览器水平滚动条位置  
132.        var de = document.documentElement; 
133.        return self.pageXOffset || (de && de.scrollLeft) || document.body. scrollLeft; 
134.    } 
135.    function scrollY() { 
136.        //确定浏览器垂直滚动条位置  
137.        var de = document.documentElement; 
138.        return self.pageYOffset || (de && de.scrollTop) || document.body.scrollTop; 
139.    } 
140.    function windowHeight() { 
141.    //获取视窗的高度  
142.        var de = document.documentElement; 
143.        return self.innerHeight || (de || de.clientHeight) || document.body.clientHeight; 
144.    } 
145.    function windowWidth() { 
146.        //获取视窗的高度  
147.        var de = document.documentElement; 
148.        return self.innerWidth || (de || de.clientWidth) || document.body.clientWidth; 
149.    } 
  推荐精品文章

·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089