资讯专栏INFORMATION COLUMN

原生js封装了一个插件集合(目前仅包含拖拽和创建自适应文本框插件,颜色选择器)

CatalpaFlat / 2893人阅读

摘要:一个基于原生而封装的插件集合,目前包含创建自适应的文本输入框,拖拽支持移动端和端的插件,颜色选择器插件其它插件正在逐步添加中。在线创建自适应文本框。鄙人创建了一个群,供大家学习交流,希望和大家合作愉快,互相帮助,交流学习,以下为群二维码

ewplugins

一个基于原生js而封装的插件集合,目前包含创建自适应的文本输入框,拖拽(支持移动端和PC端)的插件,颜色选择器插件,其它插件正在逐步添加中。

安装与使用 安装

</>复制代码

  1. npm install ewplugins --save-dev
引入

</>复制代码

拖拽插件配置如下:

</>复制代码

  1. //自定义配置
  2. //参数为插件的配置对象
  3. var drag = new ewPlugins("drag",{
  4. el: document.getElementsByClassName("demo"),//拖动元素
  5. designEL:".title",//document.getElementByClassName("title),//指定拖拽区域
  6. isWindow: true,//是否限制在浏览器可见窗口内,如果为false,超出后出现滚动条
  7. scopeEl:document.getElementsByClassName("box"),//如果和width与height同时设置了,则优先执行这个限制元素,设置了此属性,则不能将isWindow属性设置为false
  8. width: 400,//限制拖动元素范围宽,则不能将isWindow属性设置为false
  9. height: 400//限制拖动元素范围高,则不能将isWindow属性设置为false
  10. axis:"x" //"y",限制在X轴或者y轴拖动
  11. origin:true, //false,是否在拖动之后还原位置
  12. originSpeed:100,//还原速度,不超过拖拽的偏移量
  13. startCB:function(){},//拖动开始回调
  14. moveCB:function(){},//拖动时回调
  15. endCB:function(){},//拖动结束时回调
  16. dragDisabled:true,//false,是否禁止拖拽
  17. disabledButton:".btn",//或document.getElementByClassName("btn"),//点击按钮禁止或启用拖拽
  18. ani_transition:"transition:all .1s linear",//动画过渡效果或者以对象形式{"transition":"all .1s linear"}
  19. grid:[50,50] //网格规范拖动
  20. });
  21. //其中el和scopeEl的值也可以是传成字符串,如el:".demo",scopeEl:".box"
  22. //默认配置(传入拖拽元素的dom对象或者获取dom对象的字符串)
  23. var drag = new ewPlugins("drag",".demo");
  24. //或var drag = new ewPlugins("drag",document.getElementByClassName("demo"))

创建一个自适应文本框插件如下:

</>复制代码

  1. //自定义配置
  2. var text = new ewPlugins("textarea",{
  3. el:".demo",//如果指定了此项,则后面两项无效,指定此项就表示要将某个元素转换成自适应文本元素,也可以传document.getElementByClassName("demo")
  4. mode:"auto",//创建的是textarea元素还是普通元素,auto或notAuto,auto即textarea元素,否则就是div元素
  5. container:".box" //document.getElementByClassName(box)需要添加自适应文本元素的元素
  6. })
  7. //默认配置
  8. var text = new ewPlugins("textarea",".demo");
  9. var text = new ewPlugins("textarea","auto");
  10. var text = new ewPlugins("textarea",document.getElementByClassName("demo"));
  11. //也可以不用传第二个参数
  12. var text = new ewPlugins("textarea")

颜色选择器插件如下:

</>复制代码

  1. //默认配置
  2. var color = new ewPlugins("colorpicker",".demo");
  3. var color = new ewPlugins("colorpicker",document.getElementByClassName("demo"));
  4. //点击确定
  5. color.config.sure = function(color){
  6. //返回颜色值
  7. }
  8. //点击取消
  9. color.config.clear = function(defaultColor){
  10. //返回默认颜色值
  11. }
  12. //自定义配置
  13. var color = new ewPlugins("colorpicker",{
  14. el:".demo2",//绑定选择器的dom元素
  15. alpha:true,//是否开启透明度
  16. size:{
  17. width:100,
  18. height:50
  19. },//颜色选择器类型,有四个字符串值normal,medium,small,mini或者一个对象自定义宽高
  20. predefineColor:["#223456","rgba(122,35,77,.5)"],//预定义颜色是一个数组
  21. disabled:false,//是否禁止开启选择器面板
  22. defaultColor:"#eeff22",//默认颜色
  23. openPickerAni:"opacity",//或者"height",开启颜色选择器面板的动画
  24. sure:function(color){
  25. console.log(color);
  26. },//点击确定按钮的回调
  27. clear:function(){
  28. console.log(this)
  29. }//点击清空按钮的回调
  30. })
cdn引入

CDN:https://www.unpkg.com/ewplugi...

在组件中使用

</>复制代码

  1. import ewPlugins from "ewplugins"
  2. var pluginName = new ewPlugins(type,option);//type为指定插件的类型,option为配置对象,详情见前述
  3. 如果是在`vue`中使用,最好在`mounted`周期中实例化

更多详情参阅文档官网介绍ewPlugins;

在线拖拽demo。
在线创建自适应文本框demo。
在线颜色选择器示例。

github源码,觉得不错的,望不吝啬star,也欢迎fork

鄙人创建了一个QQ群,供大家学习交流,希望和大家合作愉快,互相帮助,交流学习,以下为群二维码:

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/54882.html

相关文章

  • 原生js封装一个插件集合(目前包含拽和创建适应文本插件颜色选择)

    摘要:一个基于原生而封装的插件集合,目前包含创建自适应的文本输入框,拖拽支持移动端和端的插件,颜色选择器插件其它插件正在逐步添加中。在线创建自适应文本框。鄙人创建了一个群,供大家学习交流,希望和大家合作愉快,互相帮助,交流学习,以下为群二维码 ewplugins 一个基于原生js而封装的插件集合,目前包含创建自适应的文本输入框,拖拽(支持移动端和PC端)的插件,颜色选择器插件,其它插件正在逐...

    fengxiuping 评论0 收藏0
  • 原生js封装一个插件集合(目前包含拽和创建适应文本插件颜色选择)

    摘要:一个基于原生而封装的插件集合,目前包含创建自适应的文本输入框,拖拽支持移动端和端的插件,颜色选择器插件其它插件正在逐步添加中。在线创建自适应文本框。鄙人创建了一个群,供大家学习交流,希望和大家合作愉快,互相帮助,交流学习,以下为群二维码 ewplugins 一个基于原生js而封装的插件集合,目前包含创建自适应的文本输入框,拖拽(支持移动端和PC端)的插件,颜色选择器插件,其它插件正在逐...

    cheng10 评论0 收藏0
  • javascript功能插件集合 前端常用插件 js常用插件

    摘要:转载来源包管理器管理着库,并提供读取和打包它们的工具。能构建更好应用的客户端包管理器。一个整合和的最佳思想,使开发者能快速方便地组织和编写前端代码的下一代包管理器。很棒的组件集合。隐秘地使用和用户数据。 转载来源:https://github.com/jobbole/aw... 包管理器管理着 javascript 库,并提供读取和打包它们的工具。•npm – npm 是 javasc...

    Hydrogen 评论0 收藏0
  • javascript功能插件集合 前端常用插件 js常用插件

    摘要:转载来源包管理器管理着库,并提供读取和打包它们的工具。能构建更好应用的客户端包管理器。一个整合和的最佳思想,使开发者能快速方便地组织和编写前端代码的下一代包管理器。很棒的组件集合。隐秘地使用和用户数据。 转载来源:https://github.com/jobbole/aw... 包管理器管理着 javascript 库,并提供读取和打包它们的工具。•npm – npm 是 javasc...

    netmou 评论0 收藏0
  • javascript功能插件集合,写前端的亲们记得收藏

    摘要:一个专注于浏览器端和兼容的包管理器。一个整合和的最佳思想,使开发者能快速方便地组织和编写前端代码的下一代包管理器。完全插件化的工具,能在中识别和记录模式。健壮的优雅且功能丰富的模板引擎。完整的经过充分测试和记录数据结构的库。 【导读】:GitHub 上有一个 Awesome – XXX 系列的资源整理。awesome-javascript 是 sorrycc 发起维护的 JS 资源列表...

    cfanr 评论0 收藏0

发表评论

0条评论

CatalpaFlat

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<