js
文章平均质量分 52
卡塔库栗
一个不成熟的软件工程师
展开
-
前端跨域问题解决过程记录
先对自己说两句闲话,变懒了,很久没有记录自己的工作了,希望不忘初衷。 最近我有这样一个需求,我们是设备软件公司,因此有一个功能就是修改自己的管理口IP和端口,要求修改完成后跳转到新的页面,这里会出现一个问题,就是原有的页面上要通信新的IP和端口,这就涉及到跨域问题,跨域问题解决网上有很多种,我在此只记录我使用过的两种。 我们工程的架构是前端通过Apache反向代理发送到...原创 2020-01-19 11:42:46 · 399 阅读 · 0 评论 -
js 判断两个对象是否相等
//判断两个对象是否相等'isObjectValueEqual': function (a, b) { if(!b||!a){ return false } var aProps = Object.getOwnPropertyNames(a); var bProps = Object.getOwnPropertyNames(b); ...原创 2018-08-21 11:16:27 · 1013 阅读 · 0 评论 -
HTML空格占位符
  == 普通的英文半角空格  ==   ==   == no-break space (普通的英文半角空格但不换行)  == 中文全角空格 (一个中文宽度)  ==   == en空格 (半个中文宽度)  ==  ...转载 2018-08-29 00:33:26 · 1327 阅读 · 0 评论 -
js 十六进制转换二进制 二进制转十六进制 异或算法
为什么要单独写个方法去做不同进制之间的转换呢?因为自带的方法在进行十六进制转为二进制的时候,精度在13位字符后就会出现丢失,为了让精度不丢失就自己根据16进制转换2进制的原理写了两个两个方法 如果长度没有超过13位,可以用parseInt("125adf8",16).toString(2)='1001001011010110111111000', 十六进制转换二进制...原创 2018-08-29 10:31:57 · 16813 阅读 · 2 评论 -
js ipv6转二进制 (补零操作)
有些时候我们需要对ipv6格式进行补零,然后转化为二进制操作1.首先对ipv6格式进行补零,还原到最初格式的16进制字符串function ipv6_to_hex(address){ var ipv6_to_16=''; var ipv6_1=[]; ...原创 2018-12-17 13:32:48 · 2963 阅读 · 0 评论 -
vue 自定义jq的tabledata表格插件的分页条
我们在使用tabledata表格插件的时候,如果我们将每页的显示总数大于页面显示条数的时候,这时我们的分页及相关信息就会看不见,希望分页条可以浮动在某一个地方,因此工程决定自定义vue标签去实现此功能。 效果图: 本组件的思路是自定义一个vue的标签,然后根据各个需要的table页面去适配,具体代码和使用方法如下:1.index.vue...原创 2018-12-28 16:56:41 · 1387 阅读 · 0 评论 -
一、 冒泡排序
1、冒泡排序(Bubble Sort)冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。1.1 算法描述比较相邻的元素。如果第一个比第二个大,就交换它们两个; 对每一对相邻元素作同样...原创 2019-05-08 11:22:41 · 167 阅读 · 0 评论 -
二、桶排序
一、 桶排序桶排序(Bucket sort)是一种基于计数的排序算法的推广(计数排序,顾名思义就是要统计出现的次数,适用于对数值范围很小的正数序列排序。在统计每个数的出现次数后,我们可以直接构造出排序结果),工作的原理是将数据分到有限数量的桶子里,然后每个桶再分别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序)二、算法步骤 设置固定数量的空桶。(有的是设置每个...原创 2019-05-09 10:15:20 · 161 阅读 · 0 评论 -
js 多选框里的元素拖动排序
一、需求背景: 项目要求在多选的情况下对已选择的值进行手动拖动排序二、设计分析: 我们正常的js插件中没有此功能,需要拖动里面的元素,就需要添加在生成的已选择的li元素里添加h5属性(draggable="true"),这样我们才能有拖动元素的这个效果。然后我们在select初始化的页面再监听拖动事件。除了核心的拖动外,我们还需要...原创 2019-05-16 14:06:14 · 1642 阅读 · 0 评论 -
js 堆排序
一、简介 堆排序是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。 在堆的数据结构中,堆中的最大值总是位于根节点(在优先队列中使用堆的话堆中的最小值位于根节点)。堆中定义以下几种操作: 最大堆调整(Max Heapify):将堆的末端子节点作调整,使得子节点...原创 2019-05-28 10:15:07 · 1499 阅读 · 0 评论 -
Datatables info显示总数据出现“1undefined123”这种错误
最近出了‘当配置记录多时,页面下方计算条数显示错误’的bug,问题影响不大,但是我找了两个多小时的资料都无果,所以记录一下这个问题的解决思路,以及复习一下js的基本语法。bug截图: 首先我们可以直观的看到是显示总数的地方,莫名的多了undefined的字样,从表象以及插件的使用上我们都知道,只要我们了解就知道这个信息的配置项实际就是一个info:true,但是...原创 2018-08-17 16:26:59 · 1298 阅读 · 3 评论 -
nodejs实现上传下载,以及部分安装部署
前段时间有个需求,领导让做个上传下载的页面,好适配他后台c语言生成license的功能,需要独立部署到Linux服务器。我思考许久,因为就一个页面部署,所以采用传统的Tomcat部署的工程肯定是不适合需求的,并且一般的js不能直接在linux服务器执行后台命令,所以我再查询前端技术后,觉得用node js 是最合适的,因为这样既不用麻烦前端容器,并且还能执行后台命令,最主要的是对流的...原创 2018-05-28 13:52:48 · 1449 阅读 · 1 评论 -
js数组去重
var arr = [1,1,1,1,2,2,2,1,1,6,6,8,9,47,589]function array(array){ var tem = {}; var newArr = []; var len = array.length; for(var i=0; i<len;i++){ if(!tem[array[i]]){ t...原创 2018-06-28 10:15:51 · 146 阅读 · 0 评论 -
vue datatables 实现动态刷新
需求描述:最近需要写一个界面,主要功能是实现模态框的动态刷新问题:可是涉及到自动刷新就有问题了,因为每次获取数据都是全量数据,用dataTable组装表格的话,页面会一直一直闪!里面绘制的表格会不断出现异常如图这个是我做好的动态刷新,下面的请求是每隔5秒刷新一次,解决问题的主要方法如下(最终解决方法是在datatables的API 中找到的):<templa...原创 2018-06-23 16:15:42 · 5589 阅读 · 0 评论 -
js各类正则表达式(中文、字母、数字、全角)
把一个字符串按照 非字母数字下滑线,中划线进行截取 例如regx("@lklo85-_")="lklo85-_" regx:function(str){ var reg = new RegExp("^\\w+$")if(reg.test(str)){ return str}else { let string = "" ...转载 2018-07-03 13:37:12 · 5313 阅读 · 0 评论 -
js 判断两个IP是否在同一个网段,掩码为(0-32)的长度表示
isEqualIPAddress: function (addr1,addr2,mask){ if(!addr1 || !addr2 || !mask){ return false; } var res1 = [], res2 = []; addr1 = addr1.split("."); addr2 = addr2...原创 2018-07-03 14:51:20 · 1927 阅读 · 0 评论 -
vue.js $emit,$on的使用
vue1.0中 vm.$dispatch 和 vm.$broadcast 被弃用,改用$emit,$onvm.$on( event, callback )监听当前实例上的自定义事件。事件可以由vm.$emit触发。回调函数会接收所有传入事件触发函数的额外参数。vm.$emit( event, […args] )触发当前实例上的事件。附加参数都会传给监听器回调。例子:...原创 2018-07-10 16:37:22 · 17970 阅读 · 0 评论 -
jquery 绑定双击事件优化
this.table.on('dblclick','tr',function(e){ var $checkbox = $(e.currentTarget).find('.checkchild') if($checkbox.length==0){ return } ...原创 2018-07-04 10:47:41 · 3763 阅读 · 0 评论 -
Bootstrap 模态框(Modal)插件
1.backdrop为static/false时,点击模态对话框的外部区域不会将其关闭。keyboard为false时,按下 Esc 键不会关闭 Modal。$('#myModal').modal({ backdrop: 'static', keyboard: false});有一些选项可以用来定制模态窗口(Modal Window)的外观和感观,它们是通过 data 属...原创 2018-06-29 10:06:15 · 501 阅读 · 0 评论 -
jquery on() 和 click() 的区别:
on() 和 click() 的区别:二者在绑定静态控件时没有区别,但是如果面对动态产生的控件,只有 on() 能成功的绑定到动态控件中。以下实例中原先的 HTML 元素点击其身后的 Delete 按钮就会被删除。而动态添加的 HTML 元素,使用 click() 这种写法,点击 Delete 按钮无法删除;使用 On() 方式可以。$("#newclick").click(function(){...原创 2018-07-06 10:39:56 · 286 阅读 · 0 评论 -
bootstrap 第二个模态框出现在已经有的模态框之前
一般我们会有多个模态框出现,关于他的顺序问题,不要想的太深奥,就是你放置模态框标签的顺序,如果两个模态框同时出现,那么他会按照你标签放置的位置去排序,如果位置不对,你本身是通过第一个模态框去触发第二个模态框,可是会让第二个模态框出现再第一个模态框之前如图,我本想去点击Ddos防护页面的增加按钮去触发第二个模态框,结果他出现在第一个模态框之前,问题就是他们的标签防止的顺序不对...原创 2018-07-27 10:28:30 · 3207 阅读 · 7 评论 -
jquery插件chosen 选择框无法重置
jquery插件chosen的重置 前段时间公司要求给每个表单做重置功能,当时遇到的问题就是这个插件下的select框的下拉框和框中已选项不能销毁,于是翻阅了很多文档资料,在此总结。 如下图,我需要点击重置按钮后,把框中一选择的值去掉,然后重新赋值,其中主要方法点下 //初始化选择框$('...原创 2018-08-15 16:09:55 · 3176 阅读 · 0 评论