// 定义lQuery对象
function lQuery(lArg){
}
function lQ(lArg){
return new lQuery(lArg);
}
// css()方法
lQuery.prototype.css = function(){};
// html()方法
lQuery.prototype.html = function(){};
// 定义lQuery对象
function lQuery(lArg){
// 用typeof判断参数的类型是 function 、
switch( typeof lArg){
case 'function':
// 如果采用这种写法,给lQ绑定相同的函数,但是只会执行一次
// window.onload = lArg;
// break;
}
}
lQ(function(){
alert(1);
});
lQ(function(){
alert(2);
});
// 绑定事件函数
function lQbind(obj,eventName,fn){
// 标准浏览器
if(obj.addEventListener){
obj.addEventListener(eventName,fn,false);
}else{
// IE浏览器
obj.attachEvent('on'+eventName,fn);
}
}
switch( typeof lArg){
case 'function':
// 如果采用这种写法,给lQ绑定相同的函数,但是只会执行一次
// window.onload = lArg;
// break;
lQbind(window,'load',lArg);
break;
}
// '.div' case '.': this.elements = getClass(document,lArg.substring(1)); break;
// 获取class属性
function getClass(obj,name){
var arr = [];
var elems = obj.getElementsByTagName('*');
for(var i=0;i<elems.length;i++){
if(elems[i].className == name){
arr.push(elems[i]);
}
}
return arr;
}
case '#': this.elements.push(document.getElementById(lArg.substring(1))); break; // '.div' case '.':
default: // getElementsByTagName返回的是一个类数组NodeList,为了防止以后出现麻烦,要把他转为一个 // 数组 this.elements = toArray(document.getElementsByTagName(lArg)); break;
// 将一个类数组转为真正的数组
function toArray(lickArr){
var arr = [];
for(var i=0;i<lickArr.length;i++){
arr.push(lickArr[i]);
}
return arr;
}
// html()方法
lQuery.prototype.html = function(str){
if(str){ //设置
for(var i=0;i<this.elements.length;i++){
this.elements[i].innerHTML = str;
}
}else{
return this.elements[0].innerHTML;
}
return this;
};
// click()方法
lQuery.prototype.click = function(fn){
this.on('click',fn);
return this;
}
// mouseover()方法
lQuery.prototype.mouseover = function(fn){
this.on('mouseover',fn);
return this;
}
// hide()方法
lQuery.prototype.hide = function(){
for(var i=0;i<this.elements.length;i++){
this.elements[i].style.display = 'none';
}
return this;
}
// show()方法
lQuery.prototype.show = function(){
for(var i=0;i<this.elements.length;i++){
this.elements[i].style.display = 'block';
}
return this;
}
// hover()方法
lQuery.prototype.hover = function(fnover,fnout){
this.on('mouseover',fnover);
this.on('mouseout',fnout);
return this;
}
lQuery.prototype.css = function(attr,value){
if(arguments.length == 2){
for(var i=0;i<this.elements.length;i++){
this.elements[i].attr = value;
}
}
if(arguments.length == 1){
return getStyle(this.elements[0],attr);
}
}
// 获取属性
function getStyle(obj,attr){
if(obj.currentStyle[attr]){
obj.currentStyle[attr];
}else{
obj.getComputedStyle(obj,false)[attr];
}
}
// attr()方法
lquery.prototype.attr = function(attr,value){
if(arguments.length == 2){ //设置
for(var i=0;i<this.elements.length;i++){
this.elements[i].setAttribute(attr,value);
}
}
else if(arguments.length == 1){ //获取
return this.elements[0].getAttribute(attr);
}
return this;
};
lQuery.prototype.eq = function(num){
return lQ(this.elements[num]);
};
lQuery.prototype.index = function(){
var elems = this.elements[0].parentNode.children;
for(var i=0;i<elems.length;i++){
if( elems[i] == this.elements[0] ){
return i;
}
}
};
function lQbind(obj,events,fn){
if(obj.addEventListener){
obj.addEventListener(events,function(ev){
if( fn() == false ){
ev.preventDefault();
ev.cancelBubble = true;
}
},false);
}
else{
obj.attachEvent('on'+events,function(){
if( fn() == false ){
window.event.cancelBubble = true;
return false;
}
});
}
}
lQuery.prototype.find = function(sel){
var arr = [];
if( sel.charAt(0) == '.' ){
for(var i=0;i<this.elements.length;i++){
arr = arr.concat(getClass( this.elements[i] , sel.substring(1) ));
}
}
else{
for(var i=0;i<this.elements.length;i++){
arr = arr.concat(toArray(this.elements[i].getElementsByTagName(sel)));
}
}
return lQ(arr);
};
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有