第一百二十九节,JavaScript,理解JavaScript库
JavaScript,理解JavaScript库
学习要点:
1.项目介绍
2.理解JavaScript库
3.创建基础库
从本章,我们来用之前的基础知识来写一个项目,用以巩固之前所学。那么,每个项目为了提高开发效率,我们需要创建一个库来存放大量的重复调用的代码。而在这里,我们需要理解一些知识。
一.项目介绍
在现在流行的网站中,大量使用前端的Web应用,估计就是博客系统了。博客系统目前主要分为两种,一种是博客,一种是微博(一句话博客)。
不管在博客和微博,都采用的大量的JavaScript特效,有图片广告、下拉菜单、表单验证、弹窗、轮播器等等一系列。那么我们就创建一个项目,把上面各种应用较多的效果编写出来。
二.理解JavaScript库
什么是JavaScript库?说白了,就是把各种常用的代码片段,组织起来放在一个js文件里,组成一个包,这个包就是JavaScript库。现如今有太多优秀的开源JavaScript库,比如:jQuery、Prototype、Dojo、Extjs等等。这些JavaScript库已经把最常用的代码进行了有效的封装,以方便我们开发,从而提高效率。
当然,这里我们就不去探讨这些开源JavaScript库,那样就太容易了一点。我们这里需要探讨的是自己创建一个JavaScript库,虽然自己创建的可能没有那些开源JavaScript库功能强大,但在提升自己JavaScript开发能力,有很大帮助。
三.创建基础库
我们可以创建一个库,这是一个基础库,名字就叫做base.js。我们准备在里面编写最常用的代码,然后不断的扩展封装。
在最常用的代码中,最最常用的,也许就是获取节点方法。这里我们可以编写如下代码:
封装库代码:
/**
*feng_zhuang_ku_1.0版本,js封装库,2016/12/29日:林贵秀
**/ /**
*定义封装库对象
**/
var feng_zhuang_ku = {
/**------------------------------------------------获取元素标签开始--------------------------------------------**/
/**
* huo_qu_id()方法,通过id获取元素标签,参数是id值,返回元素对象
**/
huo_qu_id: function (id) {
return document.getElementById(id);
},
/**
* huo_qu_name_zhi()方法,通过元素name值获取指定元素,参数是元素name值,返回元素相同name值对象集合,一般获取表单
**/
huo_qu_name_zhi: function (name) {
return document.getElementsByName(name);
},
/**
* huo_qu_name()方法,通过标签名称获取相同标签名的元素,参数是标签名称,返回对象集合
**/
huo_qu_name: function (tag) {
return document.getElementsByTagName(tag);
}
/**------------------------------------------------获取元素标签结束--------------------------------------------**/
};
前台调用代码
//前台调用代码
window.onload = function (){
alert(feng_zhuang_ku.huo_qu_id('li').innerHTML);
alert(feng_zhuang_ku.huo_qu_name_zhi('j')[0].innerHTML);
alert(feng_zhuang_ku.huo_qu_name('div')[2].innerHTML);
};
PS:本项目为了更好的兼容性,我们采用UTF-8,在Notepad++上设置默认为UTF-8即可。此项目不是为了做一个博客或者微博,而是将里面的各种效果拿出来模仿编写。
第一百二十九节,JavaScript,理解JavaScript库的更多相关文章
- 第一百二十六节,JavaScript,XPath操作xml节点
第一百二十六节,JavaScript,XPath操作xml节点 学习要点: 1.IE中的XPath 2.W3C中的XPath 3.XPath跨浏览器兼容 XPath是一种节点查找手段,对比之前使用标准 ...
- 第三百二十九节,web爬虫讲解2—urllib库爬虫—ip代理—用户代理和ip代理结合应用
第三百二十九节,web爬虫讲解2—urllib库爬虫—ip代理 使用IP代理 ProxyHandler()格式化IP,第一个参数,请求目标可能是http或者https,对应设置build_opener ...
- 第一百三十九节,JavaScript,封装库--CSS选择器
JavaScript,封装库--修改元素选择器 就是将构造库函数修改成元素选择器,像css那样,输入#xxx .xxx xxx (获取指定id下的指定class下的指定标签元素) 修改后的基础库 / ...
- 第一百二十五节,JavaScript,XML
JavaScript,XML 学习要点: 1.IE中的XML 2.DOM2中的XML 3.跨浏览器处理XML 随着互联网的发展,Web应用程序的丰富,开发人员越来越希望能够使用客户端来操作XML技术. ...
- 第一百五十九节,封装库--JavaScript,表单序列化结合ajax提交数据
封装库--JavaScript,表单序列化结合ajax提交数据 封装库,表单序列化方法 /** xu_lie_biao_dan()方法,表单序列化方法,将自动获取指定表单里面的各项字段name值和va ...
- 第一百二十四节,JavaScriptCookie与存储
JavaScriptCookie与存储 学习要点: 1.cookie 2.cookie局限性 3.其他存储 随着Web越来越复杂,开发者急切的需要能够本地化存储的脚本功能.这个时候,第一个出现的方案: ...
- 第二百二十九节,jQuery EasyUI,后台管理界面---后台登录
jQuery EasyUI,后台管理界面---后台登录 登录原理图 一,login.php,登录界面 <!DOCTYPE html> <html> <head> & ...
- 第一百六十九节,jQuery,基础事件
jQuery,基础事件 学习要点: 1.绑定事件 2.简写事件 3.复合事件 JavaScript 有一个非常重要的功能,就是事件驱动.当页面完全加载后,用户通过鼠标 或键盘触发页面中绑定事件的元素即 ...
- 第一百八十九节,jQueryUI,折叠菜单 UI
jQueryUI,折叠菜单 UI 学习要点: 1.使用 accordion 2.修改 accordion 样式 3.accordion()方法的属性 4.accordion()方法的事件 5.acco ...
随机推荐
- How do I create an IIS application and application pool using InnoSetup script
Create an IIS application. Create a new IIS application pool and set it's .NET version to 4. Set the ...
- 关于ADO.NET参数化查询的提问
最近我们的正式环境一直在报错一个异常,首先我贴出来异常信息 BLL层 捕获到了请求的url Net.BLL.MobileFun MobileFun.GetBusinessBidPolicy 异常 传入 ...
- CentOS 6.4源码编译安装httpd并启动测试
今天来总结一下在Linux中软件安装,通常我们应该知道,安装软件有两种方法:一种是软件包的安装,也就是rpm包的安装,就是指这些软件包都是 已经编译好的二进制rpm包,我们通过rpm安装工具和yum安 ...
- Effective C++(13) 用对象管理资源
问题聚焦: 从这条准则开始,都是关于资源管理的. 资源,一旦用了它,将来必须还给系统. 本条准则,基于对象的资源管理办法,建立在C++的构造函数,析构函数和拷贝函数(拷贝构造函数和重载赋值操作符)的基 ...
- SQLSERVER 总结1
数据:描述事物的符号记录 数据库:按照数据结构来组织和存储管理的数据仓库 数据库管理系统:位于用户与操作系统之间的一层数据管理软件 数据库系统:在计算机系统中引入数据库后的系统构成.由数据库,数据库管 ...
- WCF基于MSMQ的事件代理服务
前言 公司目前楼主负责的项目正在改版升级,对之前的服务也在作调整,项目里有个操作日志的模块,就决定把日志单独提取出来,做个日志服务,所以就有了这篇文章 正文 MSMQ作为消息队列,B/S项目调用日志服 ...
- 关于grub的那些事(一)
/etc/default/grub里的秘密: # If you change this file, run 'update-grub' afterwards to update # /boot/gru ...
- Asp.net mvc 大文件上传 断点续传
Asp.net mvc 大文件上传 断点续传 进度条 概述 项目中需要一个上传200M-500M的文件大小的功能,需要断点续传.上传性能稳定.突破asp.net上传限制.一开始看到51CTO上的这 ...
- 不容易理解的 lock 和 merge
Hibernate:不容易理解的 lock 和 merge 目录 背景Lock官方的注释LockMode.NONELockMode.READLockMode.UPGRADEMerge官方注释detac ...
- JS OffsetParent属性
offsetParent 属性返回一个对象的引用,这个对象是距离调用offsetParent的元素最近的(在包含层次中最靠近的),并且是已进行过CSS定位的容器元素. 如果这个容器元素未进行CS ...