JavaScript
mm_hello11
这个作者很懒,什么都没留下…
展开
-
Lightbox滚轮缩放功能
1、修改Lightbox源码使支持滚轮缩放 支持鼠标滚轮主要就是把弹出后的框整个绑定上mousewheel事件,打开lightbox.js,找到Lightbox.prototype.build = function() {...}这一段,可以在这里(lightbox初始化的时候)把想要的滚轮事件绑定上去,比如在函数的末尾添加如下代码:// 图片滚轮缩放 this.img = this.$container.find('.lb-image'); this.label =...原创 2020-07-10 22:59:12 · 505 阅读 · 0 评论 -
可以缩放的lightbox.js源码
/** * Lightbox v2.7.1 * by Lokesh Dhakar - http://lokeshdhakar.com/projects/lightbox2/ * * @license http://creativecommons.org/licenses/by/2.5/ * - Free for use in both personal and commercial projects * - Attribution requires leaving author name, a.原创 2020-07-10 22:56:36 · 464 阅读 · 0 评论 -
js在禁止网页中的ctrl+s功能
//禁用页面的ctrl功能,来禁止ctrl+s保存功能window.addEventListener('keydown', function (e) { if(e.keyCode == 83 && (navigator.platform.match('Mac') ? e.metaKey : e.ctrlKey)){ e.preventDefault();...原创 2018-10-25 16:43:27 · 5148 阅读 · 0 评论 -
js中的bind方法的实现方法
js中目前我遇见的改变作用域的5中方法:call, apply, eval, with, bind。 var obj = { color: 'green' } function demo () { console.log(arguments) console.log(this.color) } var newFn = demo.bind(obj,1,1,1) newFn...原创 2018-10-10 19:40:09 · 6147 阅读 · 0 评论 -
js获取实时时间信息、星期几
<span>当前时间:</span> <span id="time"></span> <span id="xq"></span> <script type="text/javascript"> window.onload=function(原创 2018-10-09 21:41:27 · 2291 阅读 · 0 评论 -
js判断是否是数组的四种方法
<div>1</div><div>2</div><div>3</div>var arr = [1, 2, 3];//类数组对象:参数,jq对象,dom集合var obj = document.getElementsByTagName('div');//arr和obj都可以通过索引值来获取成员,如何判断他们谁是...原创 2018-10-09 15:19:34 · 2659 阅读 · 0 评论 -
js封装的MVC代码库
以下为MVC.js库代码:// 定义一个闭包(function (window) { var MVC = {}; // 定义模型模块 var M = {}; MVC.Model = { /** * 读取数据点的方法 * @str 读取数据层级路径 * eg: * M = {a: {b: {c: {d: 123}}}} * MVC.Mod...原创 2018-10-15 21:52:52 · 293 阅读 · 0 评论 -
js关于数组和字符串的各种截取
js中字符串和数组的各种截取是最常用的,各种方法之间容易混淆,最简单的总结,通过查看参数就能知道基本用法。区别如下:1、arr.splice(index, howmany, item1, item2, ....itemX)2、arr.slice(start, end)3、str.split('.')4、str.substr(start, length)5、str.substri...原创 2018-10-09 09:19:10 · 1506 阅读 · 0 评论 -
js如何实现观察者模式
定义:观察者模式,又叫发布订阅者模式,又叫消息系统,又叫消息机制,又叫自定义事件,解决主体与观察者之间的耦合问题特点:1 解决的是耦合问题(类与类之间,对象之间,类与对象之间,模块之间)2 对于任何一个观察者来说,其他观察者的改变不会影响自身3 对于任何一个对象来说,既可以是观察者,也可以是被观察者 jQuery中的观察者模式$.CallBacks()方法执行的结果得到一个...原创 2018-10-13 23:47:17 · 1014 阅读 · 0 评论 -
js中$.fn.extend()和$.extend()的应用
$.extend( [deep ], target, object1 [, objectN ] )jQuery.extend() 函数用于将一个或多个对象的内容合并到目标对象。注意:1. 如果只为$.extend()指定了一个参数,则意味着参数target被省略。此时,target就是jQuery对象本身。通过这种方式,我们可以为全局对象jQuery添加新的函数。2. 如果多个对象具有相...原创 2018-10-05 22:20:46 · 1711 阅读 · 0 评论 -
js中关于!+[]+[]如何进行计算
前几天朋友问了我一个问题,(!+[]+[]).length 得什么,我一时间还真没反应过来,后来百度查了资料才知道了是如何计算的,控制台输入得到如下:首先js是弱类型语言,所以导致js的隐式类型转换频繁。js里隐式转换的规则为:如果其中有一个操作数为string,则将另一个操作数隐式的转换为string,然后进行字符串拼接得出结果。 如果操作数为对象({})或者是数组([])这...原创 2018-10-12 19:55:14 · 5204 阅读 · 1 评论 -
js中数组的push、shift、unshift、pop方法
js中数组的4大添加删除项的方法push()方法可以在数组的末属添加一个或多个元素 unshift()方法可以在数组的前端添加一个或多个元素 shift()方法把数组中的第一个元素删除 pop()方法把数组中的最后一个元素删除pushunshiftshiftpop用实例说明,最简单的例子,功能清晰明了 ...原创 2018-10-05 14:04:13 · 252 阅读 · 0 评论 -
js中把多维数组转化为一维数组求最大最小值
现需求为:有一个多维数组var arr=[1,2,3,[5,6],[1,4,8]];需要把拆分为一维数组,并求出数组中所有数字里的最大值和最小值代码为:var a=[1,2,3,[5,6],[1,4,8]];var ta=a.join(",").split(",");//转化为一维数组alert(Math.max.apply(null,ta));//最大值alert(Mat...原创 2018-10-05 11:38:27 · 384 阅读 · 0 评论 -
js中数组取最大值和最小值
方法一://为了防止同名的原型方法,可以在生成函数之前进行重名判断if (typeof Array.prototype['max'] == 'undefined') { //最小值 Array.prototype.min = function() { var min = this[0]; var len = this.length; for (var i = 1; ...原创 2018-10-05 11:19:18 · 5556 阅读 · 0 评论 -
js中判断数字是否为质数
首先扔一个百度百科的质数的定义:质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。js判断数字是否为质数的代码:function isPrimeNum(num){ for (var i = 2; i < num; i++) { if (num%i==0){ re...原创 2018-10-05 10:49:48 · 2192 阅读 · 0 评论 -
js中看一个元素是否在页面中显示的3个方法
//看是否为true或false1、$('div').attr('display') == 'block' 2、$('div').is(':visible')3、$('div').is(':hidden')原创 2018-10-25 16:31:48 · 1033 阅读 · 0 评论 -
js点击框外任何地方框消失
//点击div1外任何地方,div2消失$(document).mouseup(function (e) { var _con = $('.div1'); if (!_con.is(e.target) && _con.has(e.target).length === 0) { $('.div2').hide() }}) ...原创 2018-10-25 16:37:16 · 2025 阅读 · 0 评论 -
js为dom元素添加class名
代码如下: <div class="aa bb cc" id='name'></div> <script type="text/javascript"> function addClass(el, className){ if(hasClass(el, className)){ return } var newClass = el...原创 2019-03-27 23:34:33 · 6686 阅读 · 0 评论 -
js中如何把json对象作为参数拼入url地址中传递
代码如下: /** * 把json对象拆成url参数格式的方法 * @data 需要处理的json对象 */ function getParam(data){ let url = ''; for(var k in data){ let value = data[k] !==undefined ? data[k] : ''; url += `&${k}=${...原创 2019-03-24 19:48:55 · 7788 阅读 · 0 评论 -
js中es6新方法copyWithin
拷贝数组成员方法:copyWithincopyWithin拷贝数组内部的成员第一个参数表示复制的位置第二个参数表示复制的起始位置第三个参数表示复制的结束位置(不包含)如下:Var arr = [0, 1, 2, 3, 4, 5, 6, 7, 8]arr.copyWithin(2, 4, 6)=> [0, 1, 4, 5, 4, 5, 6, 7, 8]对这...原创 2018-11-27 00:30:11 · 1070 阅读 · 1 评论 -
js中isNaN、Number.isNaN,isFinite、Number.isFinite的区别
判断是否是NaN的方法isNaN全局作用域中,有个方法,叫isNaN,在判断数据的时候,会将数据做类型转换(可以判断字符串,布尔值等类型)ES6为了纠正数据类型转换的问题,提供了Number.isNaN方法,只能判断数字中的NaN,不会做类型转换 判断数字是有限的方法isFinite全局作用域中,提供了isFinite,可以判断是否是有限的,判断的不够准确(会对字符串,布尔值等...原创 2018-11-27 00:13:35 · 1434 阅读 · 0 评论 -
js中es6对象的新方法is
面试中常见的几个题目:+'abc' => NaN 0/0 => NaN 1/0 => Infinity -1/0 => -Infinity 0/1 => 0 -0/1 => -0Is判断方法Object对象的静态方法:Object.is作用:优化===判断的1 在js中0和-0存...原创 2018-11-28 22:13:42 · 678 阅读 · 0 评论 -
get请求url地址传值通用方法
通用方法代码:function queryURLParmeter (url) { var reg = /([^?&=]+)=([^?&=]+)/g, obj = {}, res = reg.exec(url); while (res) { var fir = res[1], tww = res[2]; obj[fir] = tww; res = reg.exe...原创 2018-11-25 16:31:25 · 8381 阅读 · 0 评论 -
js中get请求参数含有特殊字符的处理
在get请求参数中如果包含&符号,在发送请求时就会被当作参数的分割符处理比如请求参数:var url= "xxxx?name=" + "aaa&bbb"期望的请求参数应该是name = aaa&bbb实际的请求参数会变成 name = aaa 和 bbb=处理方法在拼接参数的时候,使用 encodeURIComponent() 进行手动转义。var url= ...原创 2018-11-19 22:50:16 · 8091 阅读 · 0 评论 -
type=‘datetime-local’的input如何设置默认当前日期和00:00
type=‘datetime-local’的input是h5中一种新的日历标签,它包括年月日时分。现在项目中的需求为每次打开让他默认为当前的日期,但是时分需要是归零。样式为: 2018/11/19 00:00代码为: <body> <label> <span>测量日期</span> <input type="datetime...原创 2018-11-19 22:00:33 · 12273 阅读 · 1 评论 -
js中封装方法库关于适配amd和cmd的头部写法
项目中用到了一些js库,发现他们的头部都适配了amd和cmd模块化开发,现如下列表:/*loadingmodal.js*/!function(t, i) { "function" == typeof define && define.amd ? define(["jquery"], i) : "object" == typeof exports ? mod...原创 2018-11-18 21:05:47 · 1539 阅读 · 0 评论 -
js中jsonp跨域请求
1、理解jsonp什么是跨域?简单的来说,出于安全方面的考虑,页面中的JavaScript无法访问其他服务器上的数据,即“同源策略”。而跨域就是通过某些手段来绕过同源策略限制,实现不同服务器之间通信的效果。具体策略限制情况可看下表:URL 说明 允许通信 http://www.a.com/a.js http://www.a.com/b.js 同一域名下...原创 2018-11-05 23:51:19 · 6684 阅读 · 0 评论 -
HTTP状态码
下面是常见的HTTP状态码:200 - 请求成功 301 - 资源(网页等)被永久转移到其它URL 404 - 请求的资源(网页等)不存在 405 - 客户端请求中的方法被禁止 500 - 内部服务器错误 505 - 服务器不支持请求的HTTP协议的版本,无法完成处理HTTP状态码分类 HTTP状态码分类 分类 分类描述 1** 信息,服务器收到请求,需要请求...原创 2018-11-06 23:21:31 · 140 阅读 · 0 评论 -
分享js面试题一道
var a = 1; var b = 2; var obj = { a: 3, b: 4, prop: { a: 5, b: 6, fun: function () { console.log(a, this.b) } } } obj.prop.fun() var test = obj.prop.fun; test()//1 6/...原创 2018-10-25 21:30:08 · 123 阅读 · 0 评论 -
js将input的type为datetime-local的值转为Date型发送给后台
项目中的需求是一个input中既要有日期又要有时间,百度了input的属性有个type=datetime-local,会生成如下样式,满足了需求:但是提交数据时,提交的数据格式后台接收出了问题,解析不了数据格式,所以要转换为data格式传输,具体代码如下: <form id="order"> <table> <tr> ...原创 2018-10-04 23:26:49 · 12275 阅读 · 1 评论 -
pdfObject.js jquery.media.js 如何禁止页面下载功能(禁止右键和顶部栏下载按钮)
jquery.media.js百度云盘分享地址 pdfobject.js百度云盘分享地址jquery.media.js实现页面显示pdf文件功能文件目录为:代码为:生成样式为:页面显示pdf文件成功,但是没有任何属性方法可以控制显示隐藏下载功能,如果没有禁止下载功能的需求可以用此插件。pdfobject.js实现页面显示pdf文件功能 <s...原创 2018-10-09 11:10:50 · 9177 阅读 · 3 评论 -
JavaScript中关于字符串的知识
下面是关于js中字符串知识的整理。字符串默认只能写在一行内,分成多行将会报错。(但是在es6中的新语法用飘键“就不会报错啦!)'abc'// SyntaxError: Unexpected token ILLEGAL如果长字符串必须分成多行,可以在每一行的尾部使用反斜杠。加了反斜杠以后,原来写在一行的字符串,可以分成多行书写。但是,输出的时候还是单行,效果与写在同一行完全一样。注意,反斜杠的后原创 2018-01-10 17:20:16 · 457 阅读 · 0 评论 -
JavaScript中的一些特殊数值和方法
再说数值之前写一些别的小知识点,都是在整理的零碎的东西,不值得单独开一个博客,所以写在一起。1、一个关于不带大括号的if语句,有意思的小案例,else代码块总是与离自己最近的那个if语句配对。var m = 1;var n = 2;if (m !== 1)if (n === 2) console.log('hello');else console.log('world');上面代码不会有任何输原创 2018-01-10 15:23:00 · 1247 阅读 · 0 评论 -
js中数据类型以及typeof那些事
JavaScript 的数据类型JavaScript 语言的每一个值,都属于某一种数据类型。JavaScript 的数据类型,共有六种。(ES6 又新增了第七种 Symbol 类型的值,这里不涉及)数值(number):整数和小数(比如1和3.14)字符串(string):文本(比如Hello World)。布尔值(boolean):表示真伪的两个特殊值,即true(真)和false(假)un原创 2018-01-09 14:20:40 · 375 阅读 · 0 评论 -
动态生成的DOM做点击事件无效
最近写项目的时候遇到了这种情况,页面中的html标签都是从后台获取的数据,然后利用JS添加到页面上,当再对生成的标签写点击事件(click)时没有效果。项目时这样的,首先从后台接收到数据然后通过递归动态生成标签,代码如下:var showTree = function(a,b){ if(a.nodes.length <= 0) return ''原创 2018-01-09 11:11:11 · 9209 阅读 · 0 评论 -
关于点击空白关闭弹窗的js语句
最近项目中出现了这种情况,点击某个按钮或链接,出现一个弹窗或者展开一个模块,然后点击弹窗(模块)之外的空白,它会被关闭。所以就出现了js如何获取一个div以外的所有地方,于是百度了一下代码,亲测有用,已经运用到项目中,下面分享一下,有别的更简单的方法,欢迎补充。$(document).mouseup(function(e){ var _con = $(' 目标区域 '); // 设置目标区域原创 2018-01-09 10:17:07 · 3799 阅读 · 1 评论 -
JavaScript中break、continue和return的区别
在 javascript中break,continue和return 这三个关键字, 都有停止循环的功能,return 还有另外一个功能,就是函数返回语句,但是返回的同时也将函数停止。下面介绍3个关键字在停止for循环中的区别:1、break的用法function fn() { for(var i = 0; i < 5; i++) { if(i == 3) {原创 2018-01-08 16:46:32 · 3548 阅读 · 0 评论 -
如何通过git上传项目到github
github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开。 接下来需要注册账户,点击链接进入github的官方网站https://github.com/进行注册。注册号个人账户以后选择账号头像左边的创建新仓库,如图:然后进入创建仓库页面,给你的新仓库起个名字,然后点击下边的确认键,新的仓库就创建完成了。如图:github远程仓库创建完原创 2018-01-03 17:36:50 · 211 阅读 · 0 评论 -
JavaScript中关于函数
1、写一个函数可以直接用function,或者var一个变量,另外一个就是利用函数表达式。特别说明:Function构造函数接受三个参数,除了最后一个参数是add函数的“函数体”,其他参数都是add函数的参数。 可以传递任意数量的参数给Function构造函数,只有最后一个参数会被当做函数体,如果只有一个参数,该参数就是函数体。var add = new Function( 'x', 'y原创 2018-01-22 16:00:04 · 152 阅读 · 0 评论 -
JavaScript中数组去重的几种常用方法
项目中经常会处理一些数据,像一个json数据,里边全是数组,要把所有的数据的相同的属性值放在一个数组里,然后再判重,获取最终的数据,所以就会经常用到数组判重,于是找了几个常用的方法。如下:第一种:先把原数组的第一个值传进新数组,然后从索引为1开始遍历原数组,遍历每一个的时候再遍历新数组的每一项,如果不全等的话,把原数组的这个值写入新数组,这样最后得到的新数组就是不重复的值。function uni原创 2018-01-22 11:02:26 · 330 阅读 · 0 评论