当前位置:编程学习 > JAVA >>

精通javascript 代码总结

在看了《精通javascript》一书中,里面讲了很多工具函数,先整理一部分。
主要在javascript和css交互的代码:
[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(e

补充:web前端 , JavaScript ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,