1、获取样式
function getStyle(node, styleType){
return node.currentStyle ? node.currentStyle[styleType] : getComputedStyle(node)[styleType];
}
2、兼容IE8以下,获取className节点的元素。
function elementsByClassName(node, className){
var res = [];
1、查找node所有的子节点
var nodes = node.getElementsByTagName("*");
for(var i = 0; i < nodes.length; i++){
if(nodes[i].className == className){
res.push(nodes[i]);
}
}
return res;
}
3、阻止浏览器默认行为
function preDef(e){
if(e.preventDefault){
e.preventDefault();
}else{
window.event.returnValue = false;
}
}
4、跨浏览器的阻止冒泡
function stopBubble(e){
if(e.cancelBubble){
e.cancelBubble = true;
}else{
e.stopPropagation();
}
}
5、事件
function(ev){
var e = ev || window.event;
}
6、键盘事件对象属性
function(ev){
var e = ev || window.event;
var which = e.keyCode || e.which; //keyCode
var which = e.charCode || e.which; //charCode
}
7、获取当前事件里的触发对象 target
function(ev){
var e = ev || window.event;
var target = e.target || window.event.srcElement;
}
8、获取水平滚动距离
var windowWidth = document.documentElement.clientWidth || document.body.clientWidth;
9、获取垂直滚动距离
var windowHeight = document.documentElement.clientHeight || document.body.clientHeight;
10、颜色的随机
function randomColor(){
var str = "rgba(" + parseInt(Math.random() * 256) + "," + parseInt(Math.random() * 256) + "," + parseInt(Math.random() * 256) + ",1)";
return str;
}
11、事件监听
添加事件:
function addEvent(node,eventType, func){
if(node.addEventListener){
node.addEventListener(eventType, func, false);
}else{
node.attachEvent("on" + eventType, func);
}
}
删除事件:
function removeEvent(node, eventType, func){
if(node.removeEventListener){
node.removeEventListener(eventType, func);
}else{
node.detachEvent("on" + eventType, func)
}
}