栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

封装一个自己的js库

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

封装一个自己的js库

仿照jQuery封装一个自己的js库

接下来,我讲封装一个仿jQuery的库,主要包含jQuery中绑定,css,等方法,我讲它定义为 "HQuery"

$符号的封装

jQuery中的 $ 符号意味着什么?
先思考一下jQuery库中alert(typeof $)的结果,它是一个对象,也是一个函数
所以美元符$字面上是jQuery,其实就是一个jq对象,里面可以接受函数,字符串,还要一种是对象(比如this)
给自己的Hquery填加$符号:

function $(arg) {    return new Hquery(arg)
}

Hquery是基于面向对象实现的,所以我们需要先写构造函数,为了方便遍历和其他方法的操作,所有内容返回到一个数组中,这个数组衣服于Hquery对象存在,之后将为这个Hquery对象属性添加方法

function Hquery(arg){ //参数是变体变量
 this.elements = [] // 选择器选择的元素放到这个数组中}
选择器的封装:

我们使用Hquery操作DOM等实现一系列的功能,选择器是必不可少的,所有我们首先封装好选择器,这样就可以能省去document.getElementsByClass等等麻烦的操作

// 通过class选择元素 因为class可以有多个,所以我们需要push一下function getByClass(oParent, sClass) {    var aClass = [];    var elems = oParent.getElementsByTagName('*')    for (var i=0; i封装事件:
function bindEvent(obj, event, fn) {    if (obj.addEventListener){ //在标准浏览器下
        obj.addEventListener(event, fn, false)
    } else { // IE浏览器下
        obj.attachEvents('on' + event, fn)
    }
}// click方法Hquery.prototype.click=function (fn) {    // for (var i=0;ihide和show也是比较常用的方法:
// hideHquery.prototype.hide = function () {    for (var i=0;ieq方法
// eqHquery.prototype.eq = function (index) {    //返回出来的是元素对象,原生下面没有css(),肯定没有,所以此时需要换为$下的对象
    return $(this.elements[index])
}

其他的方法,我就不一一介绍了,下面直接给大家上一个多种方法封装好的,大家k'y



作者:周瑾ruiqi
链接:https://www.jianshu.com/p/44ce7d284728


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/245702.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号