前端插件重磅来袭

news2024/11/24 20:57:05
“你值得拥有”专栏系列上新啦,今日推出“手写前端插件”项目,作为一个前端中高级工程师,手写前端树形菜单插件、弹出层插件、日历插件、分页插件、选项卡插件、进度条插件等是必备的技能,让你的前端技术百尺竿头更进一步,在三大框架中垂直聚焦自己的亮点

代码结构:cool-module

资源引进

  • 引进css样式文件

  • 分页样式 <link rel="stylesheet" type="text/css" href="css/css/tz-page.css"></link>

  • 树形菜单样式 <link rel="stylesheet" type="text/css" href="tree/tm_tree.css"></link>

  • js组件库所有的样式 <link rel="stylesheet" type="text/css" href="css/css/sg.css"></link>

  • 引进js文件

  • 引入jQuery依赖<script type="text/javascript" src="js/jquery-1.11.2.min.js"></script>

  • 树形菜单js <script type="text/javascript" src="tree/tm_tree.js"></script>

  • js组件库工具类 <script type="text/javascript" src="js/sgutil.js"></script>

  • js组件库 <script type="text/javascript" src="js/sg.js"></script>

  • 分页js <script type="text/javascript" src="js/tz_page.js"></script>

  • 日历 <script type="text/javascript" src="js/date/WdatePicker.js"></script>

实际效果

日历

<input type="text" id="searchStartTime" class="Wdate" οnclick="showdate1()"/>

class="Wdate" 为必填项,具体操作看mydate97操作文档,这里做了一个组件库集成

function showdate1(){ WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'}); }

  • 日历图形界面

树形菜单

// 引入元素
<div id="permissiontree">

// js使用
$("#permissiontree").tmTree({})

var trees = {
  "root": [{
      "name": "所有",
      "opid": 1,
      "pid": 1,
      "url": "javascript:void(0);"
  }, {
      "name": "审核",
      "opid": 10,
      "pid": 10,
      "url": "javascript:void(0);"
  }, {
      "name": "查看",
      "opid": 11,
      "pid": 11,
      "url": "javascript:void(0);"
  }, {
      "name": "工具",
      "opid": 12,
      "pid": 12,
      "url": "javascript:void(0);"
  }, {
      "name": "模板管理",
      "opid": 13,
      "pid": 13,
      "url": "javascript:void(0);"
  }],
  "children": {
      "1": [{
          "name": "禁用",
          "opid": 2,
          "pid": 2,
          "url": "javascript:void(0);"
      }, {
          "name": "搜索",
          "opid": 5,
          "pid": 5,
          "url": "javascript:void(0);"
      }, {
          "name": "添加",
          "opid": 6,
          "pid": 6,
          "url": "javascript:void(0);"
      }, {
          "name": "置顶",
          "opid": 7,
          "pid": 7,
          "url": "javascript:void(0);"
      }, {
          "name": "评论",
          "opid": 8,
          "pid": 8,
          "url": "javascript:void(0);"
      }, {
          "name": "下单",
          "opid": 9,
          "pid": 9,
          "url": "javascript:void(0);"
      }],
      "2": [{
          "name": "yy7y",
          "opid": 20,
          "pid": 20,
          "url": "javascript:void(0);"
      }]
  }
}

// 初始化
$("#permissiontree").tmTree({

    rightMenu:true,root:trees.root,children:trees.children,type:"checkbox",callback:function($opTarget, params, model){
      
    var opid = params.opid;//选中节点的id

    if(model == "add"){

    }

    if(model == "edit"){

    }

    if(model == "delete"){

    }

    if(model == "cancel"){

    }

}});
  • 树形菜单图形界面

分页

<div class="cpage">
 
$(".cpage").tzPage(19, {
   num_edge_entries : 1, //边缘页数
   num_display_entries :4, //主体页数
   num_edge_entries:5,
   current_page:0,
   showGo:true,
   showSelect:true,
   items_per_page : 10, //每页显示X项
   prev_text : "前一页",
   next_text : "后一页",
   callback : function(pageNo,psize){//回调函数
   
   }
});
  • 分页图形界面

弹出层

  • iframe

$.tzIframe({width:320,height:400,title:"用户分配角色",ghost:false,content:"iframe.html",callback:function(iframe,$dialog,opts){

if(iframe){
   console.log("hello");
    }
  
}});
  • iframe图形界面

  • confirm

$.tzConfirm({
    width:450,
    height:430,
    title:"新增客户信息",
    ghost:false, // 拖动是否产生镜像
    icon:"",
    content:"<ul class='predata'>"+
    "           <li>"+
    "               <a><span>客户编码</span><input id='cli_code' /></a>"+
    "           </li>"+
    "           <li>"+
    "               <a><span>客户名称</span><input id='cli_name' /></a>"+
    "           </li>"+
    "           <li>"+
    "               <a><span>联系人</span><input id='cli_people' /></a>"+
    "           </li>"+
    "           <li>"+
    "               <a><span>联系电话</span><input id='cli_telephone' /></a>"+
    "           </li>"+
    "           <li>"+
    "           <a><span>传真</span><input id='cli_fax' /></a>"+
    "           </li>"+
    "           <li>"+
    "               <a><span>地址</span><input id='cli_address' /></a>"+
    "           </li>"+
    "           <li>"+
    "               <a><span>公司</span><input id='cli_company' /></a>"+
    "           </li>"+
    "           <li>"+
    "               <a><span>备注</span><input id='cli_description' /></a>"+
    "           </li>"+
    "       </ul>",
    callback:function(ok, $dialog, opts){
        if(ok){
            if(isEmpty($("#cli_code").val())){
                $("#cli_code").tips({
                    msg: "客户编码不能为空",
                    side: 2,
                    color: '#fff',
                    bg: '#f00',
                    time: 3,
                    x: 0
                })
            } else {
                $dialog.next().remove();
                tzUtil.animates($dialog,opts.animate);
            }
        }
    }
});
  • confirm图形界面

  • alert

$.tzAlert({title:"hello",content:"welcome to my page",callback:function(ok, $dialog, opts) {
    if(ok) {
        $dialog.next().remove();
        tzUtil.animates($dialog,opts.animate);
    }
}});
  • alert图形界面

  • dialog

$.ymDialog({ //删除提示
    title : "删除提示",
    contents : "确定要删除文件吗?",
    success : function(){ //确定删除
        $("#test").show().removeClass("animated bounceOutUp").addClass("animated bounceInUp");
    }
});
  • dialog图形界面

提示框

  • top-tip

 $.topTips({
    content:"文件删除成功!",
    controls : "warn",
    timer:2
});

/**
 * 友情提示组件,从html的顶部出现
 * 使用方式:
    参数说明:
    content:提示的内容
    controls:提示样式
        错误提示:err,
        警告提示:warn,
        成功提示:ok,
        等待提示:loading
    timer:显示和消失总体时间
    
 * @param $
 */
  • top-tip图形界面

  • center-tip

loading("content", timer) loading("演示开始")

  • center-tip图形界面

  • ele-tip

/** 元素提示框 $(selector).tips({ msg:'your messages!', //提示消息 必填 side:1, //提示窗显示位置 1,2,3,4 分别代表 上右下左 默认为1(上) 可选 color:'#FFF', //提示文字色 默认为白色 可选 bg:'#F00',//提示窗背景色 默认为红色 可选 time:3,//自动关闭时间 默认3秒, 设置0则不自动关闭 可选 x:0,//纵向偏移 正数向右偏移 负数向左偏移 默认为0 可选,数值 y:0,//横向偏移 正数向下偏移 负数向上偏移 默认为0 可选, 数值 }) */

  • ele-tip图形界面

滑块

<div class="slider"> $(".slider").tzSlider({horizontal:false}); $(".slider2").tzSlider({horizontal:true});

  • 滑块图形界面

tab页面

<div class="tab"> $(".tab").tzTab({ index:3, //默认选中第几个 tabDatas:[ {title:"11111",content:"<img src='images/01.jpg' id='img'>",url:"www.baidu.com"}, {title:"22222",content:"bbbbb","url":"user.action"}, {title:"22222",content:"ddddd"}, {title:"33333",content:"rrrrr"} ] });

  • tab图形界面

相关源码:

(9.99元——打赏后评论或者备注留言,例如:”已支持,your_email@xxx.com,module”)

一年365天,希望各位看官达人多多支持,打赏后将及时发送源码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/333663.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2022年饮用水行业电商销售数据:年销额近30亿,头部品牌份额超85%

近日&#xff0c;农夫山泉发布了一则涨价通知。根据通知&#xff0c;农夫山泉上调了杭州市部分规格桶装水售价&#xff0c;涨幅10%。此前&#xff0c;农夫山泉也曾在上海地区对桶装水进行提价。对于本次提价原因&#xff0c;农夫山泉表示主要是物价、原材料、人工及运费等成本不…

MySQl学习(从入门到精通15)

MySQl学习&#xff08;从入门到精通15&#xff09;第 18 章_MySQL 8 其它新特性1. MySQL 8 新特性概述1. 1 MySQL 8. 0 新增特性1. 2 MySQL 8. 0 移除的旧特性2. 新特性 1 &#xff1a;窗口函数2. 1 使用窗口函数前后对比2. 2 窗口函数分类2. 3 语法结构2. 4 分类讲解1. 序号函…

JavaScript 面向对象编程

js 实例对象与 new 命令js 对象的继承es6 classes6 class的继承 1 面向对象编程 面向对象编程&#xff08;Object Oriented Programming&#xff0c;缩写为 OOP&#xff09;是目前主流的编程范式。 它将真实世界各种复杂的关系&#xff0c;抽象为一个个对象&#xff0c;然后由…

第四章.误差反向传播法—ReLU/Sigmoid/Affine/Softmax-with-Loss层的实现

第四章.误差反向传播法 4.2 ReLU/Sigmoid/Affine/Softmax-with-Loss层的实现 1.ReLU层 1).公式 2).导数&#xff1a; 3).计算图&#xff1a; 4).实现&#xff1a; class ReLU:def __init__(self):self.mask None# 正向传播def forward(self, x):self.mask (x < 0) # 输入…

【深度学习基础7】预训练、激活函数、权重初始化、块归一化

一、Unsupervised Pre-training 得益于 Hinton and Salakhutdinov 在 2006 年的开创性工作— 无监督预训(unsupervised pre-training);在《Reducing the dimensionality of data with neural networks.》这篇论文中,他们在 RBMs 中引入无监督预训练,下面我们将在Autoenco…

RapperBot僵尸网络最新进化:删除恶意软件后仍能访问主机

自 2022 年 6 月中旬以来&#xff0c;研究人员一直在跟踪一个快速发展的 IoT 僵尸网络 RapperBot。该僵尸网络大量借鉴了 Mirai 的源代码&#xff0c;新的样本增加了持久化的功能&#xff0c;保证即使在设备重新启动或者删除恶意软件后&#xff0c;攻击者仍然可以通过 SSH 继续…

Qml学习——基本控件

最近在学习Qml&#xff0c;但对Qml的各种用法都不太熟悉&#xff0c;总是会搞忘&#xff0c;所以写几篇文章对学习过程中的遇到的东西做一个记录。 学习参考视频&#xff1a;https://www.bilibili.com/video/BV1Ay4y1W7xd?p1&vd_source0b527ff208c63f0b1150450fd7023fd8 目…

电视剧《狂飙》数据分析,正片有效播放市场占有率达65.7%

哈喽大家好&#xff0c;春节已经过去了&#xff0c;朋友们也都陆陆续续开工了&#xff0c;小编在这里祝大家开工大吉&#xff01;春节期间&#xff0c;一大批电视剧和网剧上映播出&#xff0c;其中电视剧《狂飙》以不可阻挡之势成功成为“开年剧王”。这里小编整理了一些《狂飙…

数据存储技术复习(三)未完

module4智能存储系统是功能丰富且可提供高度优化的I/o处理能力的RAID阵列。请绘制智能存储系统架构&#xff0c;并说明其各个关键组件的主要功能。前端缓存后端物理磁盘2&#xff0e;智能存储系统中&#xff0c;使用缓存进行的写入操作与直接写入到磁盘相比&#xff0c;可以带来…

2023年房地产投资-折价因子研究报告

一、折价因子分析 1.户型不好 一些楼盘的户型不是很理想&#xff0c;可能存在格局与面积分配不合理&#xff0c;浪费面积过多的情况。比如&#xff1a;入户无玄关、入户门正对卫生间、厨房卫生间没窗、长走廊、局部空间太小…… 2.楼层不合适&#xff0c;采光差 非电梯房的…

设计模式(七)----创建型模式之建造者模式

1、概述 将一个复杂对象的构建与表示分离&#xff0c;使得同样的构建过程可以创建不同的表示。 分离了部件的构造(由Builder来负责)和装配(由Director负责)。 从而可以构造出复杂的对象。这个模式适用于&#xff1a;某个对象的构建过程复杂的情况。 由于实现了构建和装配的解…

【本地项目】上传到【GitLab】流程详解

文章目录1、安装Git2、创建GitLab项目文件夹3、创建密钥4、向GitLab上传项目注意&#xff1a;本篇文章中提到的上传流程所需要的命令&#xff0c;几乎在GitLab的Command line instructions中都有所记载 1、安装Git 具体安装流程这里不做过多说明&#xff0c;安装流程可以参考…

JavaEE进阶第四课:Bean 作用域和生命周期

上篇文章介绍了Spring更简单的对象存储和取出&#xff0c;这篇文章我们将会介绍Bean 作用域和生命周期 目录1.作用域1.1引例1.2Bean的六种作用域1.3设置作用域2.生命周期2.1Spring 执行流程2.2Bean的生命周期结束语1.作用域 1.1引例 首先这里的作用域和我们之前java学到变量的…

2023-02-09 - 3 Java客户端的使用

1 Java客户端的使用 为了演示RestHighLevelClient的使用&#xff0c;需要创建一个Spring Boot Web项目。该项目的依赖配置如下&#xff1a; <dependencies> <!--Spring Boot Web依赖--> <dependency> <groupId>org.springframework.boot</gro…

tcp的理解

1、源端口号&#xff1a;发送方端口号2、目的端口号&#xff1a;接收方端口号3、序列号&#xff1a;报文段的数据的第一个字节的序号3、确认序号&#xff1a;期望收到对方下一个报文段的第一个数据字节的序号4、首部长度(数据偏移)&#xff1a;TCP报文段的数据起始距离TCP报文段…

List、ArrayList与顺序表的介绍(数据结构系列3)

目录 前言&#xff1a; 1.List 1.1什么是List 1.2List的使用 2.ArrayList 2.1线性表 2.2ArrayList的方法 2.3ArrayList的模拟实现 2.4ArrayList的使用 2.5ArrayList的三种遍历方式 2.5.1for循环遍历 2.5.2for-each遍历 2.5.3使用迭代器遍历 结束语&#xff1a; 前…

分享88个JS焦点图代码,总有一款适合您

分享88个JS焦点图代码&#xff0c;总有一款适合您 88个JS焦点图代码下载链接&#xff1a;https://pan.baidu.com/s/1zfspX9OSsbAlL53fjiSCEw?pwdulz6 提取码&#xff1a;ulz6 Python采集代码下载链接&#xff1a;https://wwgn.lanzoul.com/iKGwb0kye3wj base_url "…

XGBoost

目录 1.XGBoost推导示意图 2.分裂节点算法 Weighted Quantile Sketch 3.对缺失值得处理 1.XGBoost推导示意图 XGBoost有两个很不错得典型算法&#xff0c;分别是用来进行分裂节点选择和缺失值处理 2.分裂节点算法 Weighted Quantile Sketch 对于特征切点点得选择&#xff…

怎么不让消息弹出?录屏弹窗怎么关

当我们对电脑屏幕进行录制时&#xff0c;时不时跳出的消息窗口和广告会影响我们录制的效果。怎样不让消息弹出&#xff1f;如何关闭录屏弹窗&#xff1f;使用“锁定窗口录制”模式&#xff0c;就能很好地解决这个问题。那有没有拥有“锁定窗口”录制模式的录屏工具&#xff1f;…

synchronized 关键字-监视器锁 monitor lock

1.代码示例&#xff1a; package thread3;import java.util.Scanner;public class Test2 {public static Object object new Object();public static void main(String[] args) throws InterruptedException {Thread thread1 new Thread(() -> {Scanner scanner new Sca…