web前端开发中如何封装常用页面效果
在前端开发中,经常要编写一些交互效果,比如,回到顶部,焦点图轮播,弹出层等等。但是编写的方式都是过程式的,一会这一个函数,一会那一个函数,充斥太多的全局代码,自身也意识到这种问题。只是,不知道如何将那些效果封装起来,比如,封装成一个插件,可以复用。这种思想该如何转变呢?该如何将一堆凌乱的代码组织起来呢?
如果能有一个具体的实例就更好了^_^!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果只是想做jquery插件,最简单的方法就是直接用
$.fn
扩展然后直接使用传统的jquery的调用方式就行了
你应该知道在定义函数的时候this指针是指向调用其的元素的,实在不懂可以打印出来看看。
另外也可以用更加优雅点的闭包方式
使用IIFE(自启动函数?)也是目前比较主流的插件写法,你同样也可以传入其他对象(包括window),然后把接口暴露在上面。
$.fn
其实就是$.prototype
,只是个简化了的接口,如果不太明白可以去看一下闭包以及如何使用Javascript的原形实现继承。其实要做的都是一件事情就是把要做的事情抽象成一个函数,然后留一个可调用的接口。其实例子最好就是那个你可能天天都在用的Bootstrap,有条件你可以阅读一下Bootstrap的源码,它实现插件的方式很优雅,一开始就读优秀的代码也对个人学习有很大帮助。BS的源码难度不大,而且有一些很棒的实现(比如ScrollSpy),有困难也克服一下,最后肯定获益匪浅的。
用JQuery将其封装成插件或者扩展JQuery:
JQuery插件开发简易教程
JQuery扩展简易教程
个人之前根据网上找的源码封装了一个简单的dirSlide:dirSlide
其在项目中的简单应用:应用
题主所说的「交互效果」至少涉及三个不同的软件模块子:
UI模块总是或多或少的涉及到以上一个或者多个模块子:
将UI模块分解成模块子,使用任何传统的软件工程方法进行封装:面向对象、插件、各种设计模式等
还有一点,个人经验告诉我,不要封装交互逻辑,因为无论你封的多好看还是可能满足不了需求
案例代码 : 我是底部悬浮
页面效果 :
页面使用代码
类似这种功能需要插件:
js + seajs
上面是一个例子。
其核心思想是一样的:
1.一个js(包含组件的js css html)
2.页面上的正确调用
3.正常合理的显示