
JS+ES6+Jquery
彩笔_小qing
初心是啥,能吃吗?能!
展开
-
一道前端面试题:用原生JS实现,点击按钮,alert-button的内容
题意:<button>1</button><button>2</button><button>3</button><button>4</button><button>5</button><button>6</button><button>7</button>用原生JS实现:点击按钮,alert 其内容(1,2,3,4,5,6,7,)。当时刚学习前端,打眼儿一看感觉题不难啊,然后以非常迅速原创 2017-05-03 15:27:59 · 3609 阅读 · 0 评论 -
JS:判断一个对象是否为空
function isEmpty(obj) { // 判断对象是否为空对象 for (var name in obj) { return false; } // 不为空 return true; // 为空};原创 2017-07-28 23:03:30 · 1684 阅读 · 0 评论 -
Web性能优化规则
https://segmentfault.com/a/1190000010927816转载 2017-08-31 21:33:05 · 458 阅读 · 2 评论 -
如何在页面引用外部的HTML?
转载 https://segmentfault.com/a/1190000010943143 在页面内部应用外部的html片段,是一个很常见的用法,那么有哪些方法可以实现呢?根据情况使用不同的方法。iframe如果是一个完整的外部页面(有完整的html,head,body),可以考虑用iframe。<iframe src="test.html"></iframe>ajax如果仅仅是一个代码片段,也转载 2017-08-31 21:30:57 · 3616 阅读 · 1 评论 -
JS代码段2:禁用文本框input的几种方法
我们都知道,禁用文本框有个很简单的方法,表单元素有特性是用来控制禁止使用的。<input type="text" class="phone" disabled>说实话这个自带属性并不美观吧。。。 当然 ,表单还有一个特性也可以控制它被禁用<input type="text" class="phone" readonly>比disabled美观多了,美观多了呀,可以自定义背景颜色的对吧 今天还要说原创 2017-05-16 10:41:38 · 5017 阅读 · 0 评论 -
js代码段3:限制只能输入数字(兼容)
1.HTML5对于ie10以下浏览器,此处并不好使。不支持HTML5。第一种 <input type="number" />第二种<input type="text" pattern=[0-9] /> 但是在IE兼容模式下并不生效。2. 使用JavaScript<input type="text" name="number" id="filter">function clearNoNumber转载 2017-05-16 14:22:11 · 742 阅读 · 0 评论 -
js代码段1:去掉文本框前后的空格(JS+JQuery)
表单验证时,需要去除文本框前后的空格才可以正确通过验证。以前看到过一句话:任何设计和代码都要对用户足够宽容。<input type="text" class="phone"><input type="button" id="btn" value="过滤">jQuery - $.trim()var tel = $('.phone').val();var result = $.trim(tel);转载 2017-05-16 10:14:02 · 1244 阅读 · 0 评论 -
根据身份证号计算:出生年月日和性别
在表单注册时,为优化用户体验,在选择身份证件类型为身份证时,我们可以通过程序计算出客户的出生年月和性别时,就不需要用户填写了,节约注册时间,更好的留住客户。function certnoGetInfo(certno) { var reg = /(^\d{15}$)|(^\d{17}([0-9]|X)$)/; //验证身份证号的正则 if(reg.test(certno)){ // 如原创 2017-07-13 00:11:31 · 5588 阅读 · 0 评论 -
注册表单的验证方法封装
学了工厂方法后,想着尝试下怎么用,前几天做了个网页的注册表单页,今天就尝试了下,初出茅驴,觉得现在的通用性并没有达到最好的效果,望路过的大神指导。var VerifyFactory = function (type,str) {}VerifyFactory.prototype = { email: function (str) { // 邮箱 return (functio原创 2017-07-12 23:55:41 · 1042 阅读 · 0 评论 -
JS:函数的记忆功能(闭包)
1.函数记忆:让函数记住处理过的参数和处理结果2.函数记忆的作用:为避免重复运算3.什么时候使用函数记忆 ?只要一个函数可能反复计算相同的数据时4.如何使用?使用闭包保存住曾经计算过的参数和处理结果5.example:得到数组中的质数(质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数)?var isPrime = function(num){ var原创 2017-06-01 14:29:18 · 1963 阅读 · 0 评论 -
js面试题:let、var
今天同事问我一个问题,function fun() { var arr = []; for (var i = 0; i < 10; i++) { arr[i] = function() { return i; }; } return arr;}console.log(fun()); //输出结果你认为是什么呢?我还记得去年找工作前,原创 2017-05-23 22:31:05 · 693 阅读 · 1 评论 -
封装方法:只能输入 数字
前些日子,在看是用JavaScript片段 时,有写到 限制输入(只能输入数字),今天要用,就做了简单的封装,方便调用。<input type="text" id="certno" name="certno">var onlyNumber = { onm : function(param) { if (!param) return;原创 2017-07-13 00:02:23 · 534 阅读 · 0 评论 -
识别浏览器的方法
注意顺序: /* 得到浏览器的类型 */ function getExploreName() { var userAgent = navigator.userAgent; if (userAgent.indexOf("Opera") > -1 || userAgent.indexOf("OPR") > -1) { return 'Opera'; } els原创 2017-07-28 22:52:33 · 3018 阅读 · 0 评论 -
Modal模态框的防穿透问题,模态框弹出后,禁止body滑动事件
我封装的模态框生成是这种结构的代码插入: 温馨提示 网络不给力哦,请重新进入~ 知道了 $('.pop-content')的max-height是200px,当内容超过200px时,会有滚动条。需要判断①手指touch的点是否为.pop-content或者.pop-content的内容,若不是则阻止滚动②判断滚动条是否在.pop-content 的最上方或者最下方,若是则原创 2017-04-26 08:41:26 · 9483 阅读 · 0 评论 -
描述cookies、sessionStorage和localStorage的区别。
cookie①是网站为了表示用户身份而储存在用户本地终端(client side)上的数据(通常要经过加密)。②cookie数据始终在同源的http请求中携带,会在浏览器和服务器之间来回传递。③cookie 设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭④cookie有大小限制,当超过规定的cookie数时,浏览器会根据自己的机制进行删除老cookie(4KB)原创 2017-04-25 16:44:19 · 524 阅读 · 0 评论 -
页面加载顺序问题,影响视觉效果,使用loading解决。
静态页面,作为背景的图标先显示,文字后显示。根本原因是:(加载顺序)head标签里(link标签-css文件)-> body里的内容 -> src的script文件 ->页面中写入的js。这里就解释的通了,我的图标都是写在css文件里,所以他要一行行的执行css,将图标都加载出来之后,才开始显示文字信息。我觉着这样的效果不好,用户一定不会等待4s钟的时间看你白白的页面原创 2017-05-02 17:06:14 · 2033 阅读 · 0 评论 -
jQuery Ajax同步参数导致浏览器假死怎么办?
俗话说不作死就不会死,今天作死了一回,写了一个比较二逼的函数,遇到了同步Ajax引起的UI线程阻塞问题,在此记录一下。 事情起因是这样的,因为页面上有多个相似的异步请求动作,本着提高代码可重用性的原则,我封装了一个名为getData的函数,它接收不同参数,只负责获取数据,然后把数据return。基本的逻辑剥离出来是这样的:function getData1(){ va转载 2017-04-25 17:17:10 · 2026 阅读 · 0 评论 -
计算周岁,有了这个就可以知道自己到底多大了,我23,哈哈
计算周岁,有了这个就可以知道自己到底多大了,我23,哈哈最近的业务就是订票,于是乎就有了‘成人’->‘儿童’->‘婴儿’的分类,所以就必须得计算周岁了呀。一开始我想的超级复杂,要计算 (出生日期->现在) 所差的年月日,还要考虑到闰年平年!!!想想都抓狂。。。还好百度够强大,在csdn遇到了大神这里的一段代码,果然厉害。然后我加了一些注释,进行了测试,简单粗暴,其实很简单的道理,可是我却想不到,原创 2017-04-26 11:24:35 · 578 阅读 · 0 评论 -
怎么判断一个object是否是数组(array)?
方法一function isArray(obj){ return Object.prototype.toString.call(obj) === '[Object Array]';}使用call来使 toString 中 this 指向 obj方法二function isArray(obj){ return obj.__proto__ === Array.prototype;}原创 2017-05-19 09:06:41 · 3508 阅读 · 0 评论 -
js清空数组
var arr = ['a','b','c','d','e'];方法一arr = [ ]; 方法二arr.length = 0;方法三arr.splice(0,arr.length);原创 2017-05-19 08:53:37 · 1083 阅读 · 0 评论 -
JS倒计时结束关闭页面:Scripts may close only the windows that were opened by it.
在应用中,经常看见支付成功之后,会有倒计时关闭网页。去年我写过一个关闭网页的小demoHTML<p class='autoClose'>5S后关闭此页面</p>JSfunction task(){ var n=$('.autoClose').html()[0]; if(n>1){//如果n>1 n--;//n-1 $('.autoClose').h原创 2017-05-05 09:05:50 · 7935 阅读 · 0 评论 -
面试:数组去重方法简单总结~
双重循环<script> var arr = [1,5,3,1,9,8,5,4,2,3]; // 需要去重的数组 var list = []; // 用来存结果数组 for(var i=0;i<arr.length;i++){ var num = arr[i]; if(list.indexOf(num)<0){ list原创 2017-04-27 14:40:37 · 900 阅读 · 0 评论 -
用JS修改页面的title
之前一直用 Java 的 S 标签 为title赋值,直到今天我才知道,可以用 JS 改变 title 的值啊。$(document).attr('title','new title ha'); // 将 title 的值改为 ‘new title ha’这里的 new title ha 可以是你在本页面的特定条件下改的,也可以是从前一个页面传过来的( localStorage.setItem('属原创 2017-06-02 14:00:37 · 17976 阅读 · 2 评论 -
获取验证码:倒计时封装
同一套网页中有多个地方用到了 获取验证码 的功能,上一个项目中也有这种用法,但是当时对封装之类的实在是搞不明白,想了好多办法依然没能很好的复用。最近看了《JavaScript设计模式》,有一点点灵感,封装的也不知道是不是那么回事,反正实现了复用,以此纪念我的 倒计时function CountDown(opt) { // opt是传来的参数对象 var target = opt.target原创 2017-07-10 17:19:34 · 591 阅读 · 1 评论 -
Javascript设计模式 -- 灵活的javascript
推荐大家一本不错的书 《JavaScript设计模式》。今天开始看,我希望我能坚持看。一:灵活的语言-javascript1.用对象收编变量var CheckObject = { checkName:function(){ //验证姓名 }, checkPassword:function(){ //验证密码 }}CheckObjec原创 2017-06-29 15:33:54 · 278 阅读 · 0 评论 -
页面滚动进度条 ( 兼容IE7及以上 )
这是IE的预览效果,打开的是IE7的文档模式直接粘代码,采用优雅降级的方式实现兼容。 demo 中用到的图片直接去百度下载就成,下大图效果好实现。1、*使用 jquery 的高版本实现 <!DOCTYPE html><html><head><meta charset="UTF-8"><meta charset="UTF-8"><meta http-equiv="X-UA-Compatib原创 2017-06-26 18:12:21 · 1326 阅读 · 0 评论 -
实时预览上传图片(QQ上传头像前的预览)
上传到服务器之前的本地预览,提高响应速度,用户交互友好<div id="preview"></div><input type="file" onchange="preview(this)" />function preview(file) { var prevDiv = document.getElementById('preview'); if (file.files &&原创 2017-05-16 15:57:31 · 947 阅读 · 0 评论