如何5分钟搞定jQuery+zepto.js+面向对象插件?
发布在全栈开发工程师2018年10月1日view:111jQuery前端工程前端工程师面试web网页设计
在文章任何区域双击击即可给文章添加【评注】!浮到评注点上可以查看详情。

1.jQuery的引入:本地下载jQuery(后面简称jq)的源文件,开发版本使用非min版,线上使用min版,zepto.js类似,同样的一些基于jq的插件也是如此用法,如果使用requreJs也就是模块化加载注意插件的依赖性;zepto.js(可以认为是移动端简版jq,用法基本相同,唯一不同的是点击事件的触发,一个是click,一个touch)

如何5分钟搞定jQuery+zepto.js+面向对象插件?

2.注意事项点:jq的使用是基于我们的选择器去绑定方法从而实现交互效果的。jq常用的方法如下:

$(’选择器’).html(),如果html不传值则是获取这个选择器的html文本,如果传值”,是去掉选择器包裹的html,相同的用法是text()

$(’选择器’).hide() 隐藏选择器的dom结点,其实质就是行内添加样式style=’display:none’;show(),相反的效果,toggle(),则是两者来回切换,但是一般用于显示时,需要触发其他显示和隐藏,比如点击tab切换;

修改class的操作 addClass(),removeClass(),toggleClass() 切换类 hasClass()是否有类型:boolear

修改标签的属性attr():添加自定义属性,removeAttr():删除属性

修改样式的操作css() :其传入值是key,value键值对,或者对象

dom选择 parent() :父级元素 ;。prev()前面的元素;next()后面的元素;after(),before()方法在被选元素前插入指定的内容 ;slibings() 兄弟元素;remove(),删除

数据请求:ajax()

3.面向对象的封装

面向对象的思想其实不是很复杂,就是根据我们的业务或者开发划分的模块,比如nav,swiper,toats,登录验证等;从字面入手,面向对象首先需要我们暴露一个对象出来,供大家使用,这个暴露的对象依赖谁很重要,下面转盘插件以示例说一下我们如何封装一个插件对象(感谢懒人之家)

如何5分钟搞定jQuery+zepto.js+面向对象插件?

我们需要再自己的独立的js中加入立即执行函数,这个插件是依赖于jq的,所以传入了jQuery,利用$.fn.extend()绑定我们新的属性和方法,如果插件中需要传入一下参数,我们也可以使用这个方法生成我们最后的对象

如何5分钟搞定jQuery+zepto.js+面向对象插件?

以上是一种,还有一种简单的粗暴的写法

var keyBoard = function(params){
 var defaults = {
 width:100,
 height:100,
 };
 //合并使用插件初始化参数
 var optionsCur = extend(defaults,params);
 //初始化,
 keyBoard.prototype.init = function(optionsCur){

 }
 // 这个我们可以添加其他的方法,依据插件的功能

 exports.KeyBoard = keyBoard;
}
})(window) </pre>

本次给大家推荐一个最后给大家推荐一个免费的学习群,里面概括移动应用网站开发,css,html,webpack,vue node angular以及面试资源等。 对web开发技术感兴趣的同学,欢迎加入Q群:864305860,不管你是小白还是大牛我都欢迎,还有大牛整理的一套高效率学习路线和教程与您免费分享,同时每天更新视频资料。 最后,祝大家早日学有所成,拿到满意offer,快速升职加薪,走上人生巅峰。

评论
发表评论
暂无评论
WRITTEN BY
前端攻城小牛
你所谓的稳定不过是在浪费生命
TA的新浪微博
PUBLISHED IN
全栈开发工程师

往前端这条不归路再次迈进

我的收藏