當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
精通javascript 代码总结
生活随笔
收集整理的這篇文章主要介紹了
精通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="#" οnclick=" 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) {//IEreturn elem.currentStyle[styleName];}else if (document.defaultView && document.defaultView.getComputedStyle) {//DOMstyleName = styleName.replace(/([A-Z])/g, '-$1').toLowerCase();var s = document.defaultView.getComputedStyle(elem, '');return s && s.getPropertyValue(styleName);}else {//other,for example, Safarireturn 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.clientWidth ;restoreCss(elem, oldcss);return width;}function setOpacity(elem, level) {//這是元素透明度if (elem.filiters) {elem.style.filters = "alpha(opacity='" + level + "')";}else {elem.style.opacity = level / 100;}}function cursorX(e) {//獲取光標水平位置e = e || window.event;//先檢查非IE瀏覽器位置再檢查IE位置return e.pageX || e.clientX + document.body.scrollLeft;}function cursorY(e) {//獲取光標垂直位置e = e || window.event;return e.pageY || e.clientY+ document.body.scrollTop;}function scrollX() {//確定瀏覽器水平滾動條位置var de = document.documentElement;return self.pageXOffset || (de && de.scrollLeft) || document.body. scrollLeft;}function scrollY() {//確定瀏覽器垂直滾動條位置var de = document.documentElement;return self.pageYOffset || (de && de.scrollTop) || document.body.scrollTop;}function windowHeight() {//獲取視窗的高度var de = document.documentElement;return self.innerHeight || (de || de.clientHeight) || document.body.clientHeight;}function windowWidth() {//獲取視窗的高度var de = document.documentElement;return self.innerWidth || (de || de.clientWidth) || document.body.clientWidth;}有關類的繼承請參照http://blog.csdn.net/dz45693/article/details/7683195
有關事件添加和移除請參照http://blog.csdn.net/dz45693/article/details/7622262
總結
以上是生活随笔為你收集整理的精通javascript 代码总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数字格式化输出NumberFormat
- 下一篇: 收集18个高大上的浏览器小技巧