本文实例为大家分享了Javascript工具库MyTools,不断填充中,供大家参考,具体内容如下
MyTools.js
将功能绑定在window中,调用的时候,直接使用myToos.xxx就可以进行函数调用。
(function (w) {
w.myTool = {
$: function (id) {
return typeof id === 'string' ? document.getElementById(id) : null;
},
scroll: function() {
if(window.pageYOffset !== null){ // 最新的浏览器
return {
"top": window.pageYOffset,
"left": window.pageXOffset
}
}else if(document.compatMode === 'CSS1Compat'){ // W3C
return {
"top": document.documentElement.scrollTop,
"left": document.documentElement.scrollLeft
}
}
return {
"top": document.body.scrollTop,
"left": document.body.scrollLeft
}
},
client: function() {
if(window.innerWidth !== null){ // 最新的浏览器
return {
"width": window.innerWidth,
"height": window.innerHeight
}
}else if(document.compatMode === 'CSS1Compat'){ // W3C
return {
"width": document.documentElement.clientWidth,
"height": document.documentElement.clientHeight
}
}
return {
"width": document.body.clientWidth,
"height": document.body.clientHeight
}
},
hasClassName: function (obj, cs) {
var reg = new RegExp('\b' + cs + '\b');
return reg.test(obj.className);
},
addClassName: function (obj, cs) {
if(!this.hasClassName(obj,cs)){
obj.className += ' ' + cs;
}
},
removeClassName: function (obj, cs) {
var reg = new RegExp('\b' + cs + '\b');
// 删除class
obj.className = obj.className.replace(reg, '');
},
toggleClassName: function (obj, cs) {
if(this.hasClassName(obj,cs)){
// 有, 删除
this.removeClassName(obj,cs);
}else {
// 没有,则添加
this.addClassName(obj,cs);
}
},
hide: function (ele) {
ele.style.display = 'none'
},
show: function (ele) {
ele.style.display = 'block'
},
getCSSAttr: function (obj, attr) {
if (obj.currentStyle) { // IE 和 opera
return obj.currentStyle[attr];
} else {
return window.getComputedStyle(obj, null)[attr];
}
},
setCssAttr: function (eleObj, attr, value) {
eleObj.style[attr] = value;
},
slowMoving: function (eleObj, json, fn) {
clearInterval(eleObj.timer);
var speed = 0, begin = 0, target = 0, flag = false;
eleObj.timer = setInterval(function () {
flag = true;
for(var key in json){
if (json.hasOwnProperty(key)){
if (key === 'opacity') {
begin = parseInt(parseFloat(myTool.getCSSAttr(eleObj, key)) * 100);
target = parseInt(json[key] * 100);
} else if ('scrollTop' === key) {
begin = Math.ceil(Number(eleObj.scrollTop));
target = parseInt(json[key]);
} else {
begin = parseInt(myTool.getCSSAttr(eleObj, key)) || 0;
target = parseInt(json[key]);
}
speed = (target - begin) * 0.2;
speed = (target > begin) ? Math.ceil(speed) : Math.floor(speed);
if (key === 'opacity') {
eleObj.style.opacity = (begin + speed) / 100;
} else if ('scrollTop' === key) {
eleObj.scrollTop = begin + speed;
} else if ("zIndex" === key) {
eleObj.style[key] = json[key];
}else {
eleObj.style[key] = begin + speed + 'px';
}
if (begin !== target) {
flag = false;
}
}
}
if(flag){
clearInterval(eleObj.timer);
fn && fn();
}
}, 100);
},
secondToHourMinSecond: function (second) {
return{
"hour" : Math.floor(second / (60*60)),
"min" : Math.floor(second % (60*60) / 60),
"second" : Math.floor(second %60)
}
},
addZero: function (num) {
return num < 10 ? '0' + num : num;
},
getStrLength: function (str){
var len = 0, code = 0;
for (var i = 0; i < str.length; i++) {
code = str.charCodeAt(i);
if (code>=0 && code <= 127){
len += 1;
}else{
len += 2;
}
}
return len;
}
};
})(window);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。



