国家开放大学2024春《JavaScript程序设计》第五次任务(预备知识:第七章;分值:30分;必做;需辅导教师评分)[参考答案]_实训八:使用jQuery技术实现企业信息展示系统的相关功能

作者:admin 字体:[增加 减小] 来源:国家开放大学 时间:2024-02-24 19:35

国家开放大学2024春《JavaScript程序设计》第五次任务(预备知识:第七章;分值:30分;必做;需辅导教师评分)[参考答案]_实训八:使用jQuery技术实现企业信息展示系统的相关功能 classJq{ const
国家开放大学2024春《JavaScript程序设计》第五次任务(预备知识:第七章;分值:30分;必做;需辅导教师评分)[参考答案]_实训八:使用jQuery技术实现企业信息展示系统的相关功能
class Jq { 
constructor(arg, root) { 
// 记录上次操作的节点;
if (typeof root == 'undefined') { 
this.prevObject = new Jq(document, null); 

if (root) { 
this.prevObject = root; 

if (typeof arg == "string") { 
// 字符串
let eles = document.querySelectorAll(arg); 
this.addEvent(eles); 
} else if (typeof arg == "function") { 
window.addEventListener("DOMContentLoaded", arg); 
} else { 
// 原生节点;
if (typeof arg.length == "undefined") { 
this[0] = arg; 
this.length = 1; 
} else { 
this.addEvent(arg); 



addEvent(eles) { 
eles.forEach((el, index) => { 
this[index] = el; 
}) 
this.length = eles.length; 

eq(index) { 
return new Jq(this[index], this); 

end() { 
return this.prevObject; 

click(fn) { 
for (let i = 0; i < this.length; i++) { 
this[i].addEventListener("click", fn); 


on(eventName, fn) { 
let reg = /s+/g; 
eventName = eventName.replace(reg, " "); 
// console.log(eventName); 
let eventArr = eventName.split(" "); 
for (let i = 0; i < eventArr.length; i++) { 
for (let j = 0; j < this.length; j++) { 
this[j].addEventListener(eventArr[i], fn); 



css(...arg) { 
if (arg.length > 1) { 
if(arg[0] in $.cssHooks){ 
let item=arg[0]; 
for (let i = 0; i < this.length; i++) { 
$.cssHooks[item].set(this[i],arg[1]); 


else{ 
// 2个参数
// 设置样式
for (let i = 0; i < this.length; i++) { 
this.setStyle(this[i], arg[0], arg[1]); 


} else { 
// 1个参数:--》字符串、对象;[obj] 
if (typeof arg[0] == 'string') { 
if(arg[0]=="wh"&&arg[0] in $.cssHooks){ 
return $.cssHooks[arg[0]].get(this[0]); 
}else{ 
// 字符串:获取样式
return this.getStyle(this[0], arg[0]); 

} else { 
// 对象;设置样式
for (let i = 0; i < this.length; i++) { 
for (let j in arg[0]) { 
this.setStyle(this[i], j, arg[0][j]); 





setStyle(ele, styleName, styleValue) { 
if (typeof styleValue == "number" && !(styleName in $.cssNumber)) { 
styleValue = styleValue + "px"; 

ele.style[styleName] = styleValue; 

getStyle(ele, styleName) { 
return window.getComputedStyle(ele, null)[styleName]; 


function $(arg) { 
return new Jq(arg); 

$.cssNumber = { 
animationIterationCount: true, 
columnCount: true, 
fillOpacity: true, 
flexGrow: true, 
flexShrink: true, 
fontWeight: true, 
gridArea: true, 
gridColumn: true, 
gridColumnEnd: true, 
gridColumnStart: true, 
gridRow: true, 
gridRowEnd: true, 
gridRowStart: true, 
lineHeight: true, 
opacity: true, 
order: true, 
orphans: true, 
pm: true, 
widows: true, 
zIndex: true, 
zoom: true 

$.cssHooks={ 
}
 
}else{ 
// 字符串:获取样式
return this.getStyle(this[0], arg[0]); 

} else { 
// 对象;设置样式
for (let i = 0; i < this.length; i++) { 
for (let j in arg[0]) { 
this.setStyle(this[i], j, arg[0][j]); 





setStyle(ele, styleName, styleValue) { 
if (typeof styleValue == "number" && !(styleName in $.cssNumber)) { 
styleValue = styleValue + "px"

作业咨询:
点击这里给我发消息

论文咨询:
点击这里给我发消息

合作加盟:
点击这里给我发消息

服务时间:
8:30-24:00(工作日)