自己封装js组件 - 初级

2天前抱着试试看的态度注册了此神博,心血来潮呕心沥血写了一篇关于vue 自定义组件的小文章 尼玛果然一个评论的没有!果然毫无人气!(当然了我这文章内容有限和大神们的比起来简直是粗制滥造。。。)索性我就把这个博客变成自己学习的笔记记录吧或许这个博客的初衷也是如此吧!奈何我这颗当网红的心啊。。。

话不多说进入正题,之前看到各种大神自己用js封装插件 然后到处自己用 真尼玛高大上 要说我这几年页没少学习啊 怎么写个组件都不会呢!就在这时我终于在某网站找到了一个非常适合新手上手自己写插件的教程 感觉受益颇多 今天我就要当一下知识的搬运工分享一下上课的内容也作为自己的日后复习的笔记吧!

首先请了解会用require.js 这个事例使用require.js串联的 这里不再赘述(因为是学习记录所以此处没有展开 但是如果了解require.js后续接内容应该不成问题) 另外在这个课上老师写这个组件也是循序渐进 不断完善的 我的笔记也就一步一步记录了 防止我这猪脑子过几天来看又给忘了(我经常自己昨天干啥都忘记了 没办法老了就这样 请不要嘲笑我)

目的:开发一个自己用js封装的alert弹出组件

define([‘jquery‘],function($){

  //定义window类 给一些基本的参数配置

  function Window(){

    this.cfg = {
      width:400,
      height:200,
      content:‘我是默认文本内容‘,
    }

  }

  //给window类添加方法

  Window.prototype = {

    var CFG = $.extend(this.cfg,cfg);

    alert:function(cfg){

      var boundingBox = $(‘<div class="window_boundingBox"></div>‘);

      boundingBox.appendTo(‘body‘)

      boundingBox .html(CFG .content);

      boundingBox.css({

        width:CFG .width,

        height:CFG.height,

        left:(CFG.x || (window.innerWidth - CFG.width)/2)+‘px‘,

        top:(CFG.y || (window.innerHeight - CFG.height)/2)+‘px‘,

      })

      }

    }

  }

  //导出window类

  return {

  Window:Window  

  }

})

下面是在main.js中调用

require([‘jquery‘,‘window‘],function($,w){
  new w.Window().alert({
  width:500,
  height:300,
  content:‘新年快乐‘,
  })
})

这是用js自己封装插件的初级装B阶段 但是在高手看起来还是很low因为这个根本就不完成就是弹出过框子你就告诉我这是alert弹出组件??? 没关系既然有初级装B指南就要有中级 甚至是高级 未完待续。。。

时间: 2024-10-05 07:41:43

自己封装js组件 - 初级的相关文章

封装js组件

一.扩展已经存在的组件1.需求背景很多时候,我们使用jquery.ajax的方式向后台发送请求,型如 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 $.ajax({         type: "post",         url: "/User/Edit",         data: { data: JSON.stringify(postdata) },         success: function (data, st

自己封装js组件 - 中级

书接上文,上次弄了个基本版本的alert组件(其实就是十分钟前)但是很多功能都没有实现 没有关闭按钮 没有下面确定按钮 没有模态框 没有这那的 这次终极篇就都给它完善好弄个中级版本也是基本可用版本! define(['jquery'],function($){ function Window(){ this.cfg = { width:400, height:200, content:'我是默认文本内容', handle:null, title:'系统消息', skinClassName:nul

JS组件系列——封装自己的JS组件

前言:之前分享了那么多bootstrap组件的使用经验,这篇博主打算研究下JS组件的扩展和封装,我们来感受下JQuery为我们提供$.Extend的神奇,看看我们怎么自定义自己的组件,比如我们想扩展一个$("#id").MyJsControl({})做我们自己的组件,我们该如何去做呢,别急,我们慢慢来看看过程. 一.扩展已经存在的组件 1.需求背景 很多时候,我们使用jquery.ajax的方式向后台发送请求,型如 $.ajax({ type: "post", ur

JS组件系列——封装自己的JS组件,你也可以!

前言:之前分享了那么多bootstrap组件的使用经验,这篇博主打算研究下JS组件的扩展和封装,我们来感受下JQuery为我们提供$.Extend的神奇,看看我们怎么自定义自己的组件,比如我们想扩展一个$("#id").MyJsControl({})做我们自己的组件,我们该如何去做呢,别急,我们慢慢来看看过程. 一.扩展已经存在的组件 1.需求背景 很多时候,我们使用jquery.ajax的方式向后台发送请求,型如 $.ajax({ type: "post", ur

JS组件系列——分享自己封装的Bootstrap树形组件:jqTree

前言:之前的一篇介绍了下如何封装自己的组件,这篇再次来体验下自己封装组件的乐趣.看过博主博客的园友应该记得之前分享过一篇树形菜单的使用JS组件系列——Bootstrap 树控件使用经验分享,这篇里面第一个Jquery Tree,只是用简单样式和js去实现了效果,没有给出一个系统的封装,这篇博主就来试试在此样式的基础上封装一个稍微完整点的树形组件. 一.组件效果预览 其实效果和之前的那个差不多,博主只是在之前的基础上加了一个选中的背景色. 全部收起 展开 全部展开 二.代码示例 其实效果很简单,重

【vue】-----js组件的封装--------

在js组件网站上,查看那个组件好看就用,把他们结构和样式分别写在  组件文件内.loading.vue组件 做一下组件的测试/引用 运行的效果 封装完好的,js组件 loading  HTML和css样式 1 <template> 2 <div class="loader" v-if="flag"> 3 <div class="loader-inner"> 4 <div class="loade

JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(三):两个Viewmodel搞定增删改查

前言:之前博主分享过knockoutJS和BootstrapTable的一些基础用法,都是写基础应用,根本谈不上封装,仅仅是避免了html控件的取值和赋值,远远没有将MVVM的精妙展现出来.最近项目打算正式将ko用起来,于是乎对ko和bootstraptable做了一些封装,在此分享出来供园友们参考.封装思路参考博客园大神萧秦,如果园友们有更好的方法,欢迎讨论. KnockoutJS系列文章: JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(一) JS组件

封装bootstrap-treegrid组件

封装bootstrap-treegrid组件 阅读目录 一.开源的treegrid 1.组件效果预览 2.组件开源地址 二.封装treegrid 1.组件封装的必要性 2.组件封装代码示例 3.封装后的组件使用 三.总结 正文 前言:最近产品需要设计一套相对完整的组织架构的解决方案,由于组织架构涉及到层级关系,在表格里面展示层级关系,自然就要用到所谓的treegrid.可惜的是,一些轻量级的表格组件本身并没有自带树形表格的功能,比如bootstrapTable就没有这个功能,怎么办呢?如果是jq

JS组件Bootstrap实现弹出框和提示框效果代码

JS组件Bootstrap实现弹出框和提示框效果代码 作者:懒得安分 字体:[增加 减小] 类型:转载 时间:2015-12-08我要评论 这篇文章主要介绍了JS组件Bootstrap实现弹出框和提示框效果代码,对弹出框和提示框感兴趣的小伙伴们可以参考一下 前言:对于Web开发人员,弹出框和提示框的使用肯定不会陌生,比如常见的表格新增和编辑功能,一般常见的主要有两种处理方式:行内编辑和弹出框编 辑.在增加用户体验方面,弹出框和提示框起着重要的作用,如果你的系统有一个友好的弹出提示框,自然能给用户