分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

简单的原生js 模拟jquery方法

发布时间:2023-09-06 01:30责任编辑:白小东关键词:js

仓促的模拟敲一下就上传来保存了。

Object.prototype.fadeIn = function(speed) {
var that = this;
setTimeout(function() {
that.style.display = "block"
}, speed)
return that;
}

//原生模拟jq中 fadeOut()方法;
Object.prototype.fadeOut = function(speed) {
var that = this;
setTimeout(function() {
that.style.display = "none"
}, speed)
return that;
}

//原生模拟jq中 hasClass()方法;
Object.prototype.hasClass = function(str) {
var obj = this;
if(str == "" || obj === null || obj.length === 0) {
return false;
}
if(obj.length > 1) {
return obj[0].classList.contains(str);
} else {
return obj.classList.contains(str);
}
}

//原生模拟jq中 addClass()方法;
Object.prototype.addClass = function(className) {
var obj = this;
if(className == "" || obj === null || obj.length === 0) {
return false;
}
if(obj.length > 1) {
[].forEach.call(obj, function(v, i) {
v.classList.add(className);
})
} else {
obj.classList.add(className);
}

return obj;
}

//原生模拟jq中 removeClass()方法;
Object.prototype.removeClass = function(className) {
var obj = this;
if(className == "" || obj === null || obj.length === 0) {
return false;
}
if(obj.length > 1) {
[].forEach.call(obj, function(v, i) {
v.classList.remove(className);
})
} else {
obj.classList.remove(className);
}

return obj;
}

//原生模拟jq中 $符号;
function $(str) {
if(typeof(str) !== "string" && (str === window || str === document)) {
return str;
}
if(str.trim() === "") {
return false;
}
if(str.trim().substr(0, 1) == "#") {
return document.getElementById(str.replace(/#/, ""));
} else {
return [].map.call(document.querySelectorAll(str), function(v, i) {
return v;
})
}
}

有什么差漏或不足,请指正下!

简单的原生js 模拟jquery方法

原文地址:http://www.cnblogs.com/leehf/p/8042141.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved