
JavaScript
ShiYadong_
E-Mail:ityadong@163.com
展开
-
Js 实现某个区域内滚动条上拉触底的事件
首先要有三个参数:1.计算该容器的固定高度 clientHeight2.计算滚动条距离顶部的距离 scrollTop3.计算该容器内内容的高度 scrollHeight当clientHeight >=scrollHeight -scrollTop时,即为上拉触底;以vue为例(部分代码):<template> <di...原创 2019-11-10 21:39:13 · 985 阅读 · 0 评论 -
跟随鼠标转动的眼球效果特效,鼠标跟随运动
眼球转动在很多网页中,都存在着跟随运动,比如眼球转动。鼠标在网页中移动时,眼球也会跟着朝相应方向转动上面是眼球转动的示意图,(x0,y0)是眼球的位置,而(x,y)是鼠标的位置。设直线与垂直方向的夹角为a,假设圆心点坐标为(0,0),可以得到以下公式tan(a) = x/y = x0/y0x0 = r*sin(a) y0 = r*cos(a)在mousemove事件中,可以很容易的得到鼠标位置(x...转载 2018-03-02 16:22:39 · 6733 阅读 · 0 评论 -
鼠标滑轮滚动事件
原生js的写法:window.addEventListener("scroll", function(){ console.log('666');});jq的写法:$(window).scroll(function(){ alert(66); });原创 2018-03-05 11:10:37 · 385 阅读 · 0 评论 -
原生js判断当前的IE版本
function IEVersion() { var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") &g...原创 2018-03-28 10:52:20 · 9835 阅读 · 0 评论 -
本地储存localStorage与cookie的区别
区别特性CookieLocalStorage sessionStorage数据的声明周期一般由服务器生成,可设置失效时间。如果在浏览器生成,默认是关闭浏览器之后失效除非被清楚,否则永久保存仅在当前会话有效,关闭页面或浏览器后被清除存放数据大小4KB一般 5MB一般 5MB与服务端通信每次都会携带在HTTP头中,如果使用 cookie 保存过多数据会带来性能问题仅在客户端中保存,不参与和服务器的通信...原创 2018-06-21 23:18:23 · 1662 阅读 · 0 评论 -
canvas和image互相转换
现在扫描二维码已经很普遍,微信扫一扫即可,但是如果二维码是在自己的手机上呢?那就要用到微信里的一个功能了,手指长按二维码,会弹出自动识别的选项,点确定就可以看到二维码的内容了。那么怎么通过前端实现这个长按自动识别这个功能呢? 首先我们需要知道利用jquery的二维码生成插件jquery.qrcode.min.js,制作的二维码是在canvas元素中的。而微信中我们点击...转载 2018-06-09 23:24:13 · 8104 阅读 · 0 评论 -
判断 一个字符串 是否存在 该数组中
可以用数组的indexOf函数,方法arr.indexOf(find,start);find:要找的内容,必须;start:查找开始下标,可选;返回:查找数据所在的下标,如果没找到,返回-1如果只要知道是否有8这个数字,直接调用arr.indexOf(8),如果返回值不为-1,说明找到了var s=[1,2,3,5,6,9];var u=s.indexOf(5);//返回5所在的下标3var ...原创 2018-06-19 15:52:43 · 18667 阅读 · 0 评论 -
js 深入扩展----js同步与异步编程
JS中的两种编程思想:同步、异步JS是单线程的->JS就是个傻子,脑子一根筋,做着当前的这件事情,没有完成之前,绝对不会做下一件事情1、同步->上一件事情没有完成,继续处理上一件事情,只有上一件事情完成了,才会做下一件事情(JS中大部分都是同步编程的)for(var i = 0;i<100000;i++){ if(i==99999){ ...转载 2018-07-10 08:56:16 · 208 阅读 · 0 评论 -
关于js中的同步和异步
最近看到前端面试问到js中的同步和异步,这个问题该怎么回答?梳理一下,js对于异步的处理,很多人的第一反应是ajax,这只能说是对了一半。 1.个人觉得,js中,最基础的异步是setTimeout和setInterval函数,很常见,但是很少人有人知道其实这就是异步,因为它们可以控制js的执行顺序var timeoutID = window.setTimeout(func[, delay, par...转载 2018-06-28 16:40:30 · 394 阅读 · 0 评论 -
js获取当前时间,并格式化为"yyyy-MM-dd HH:mm:ss"
function getFormatDate() { var date = new Date(); var month = date.getMonth() + 1; var strDate = date.getDate(); if (month >= 1 && month <= 9) { month = "0" + mo...原创 2018-07-17 15:11:28 · 32002 阅读 · 2 评论 -
js 计算出 两个时间戳之间的间隔时间,再将间隔时间倒计时
现在有这样一个需求,前端 播下一个种子,后台给你返回两个时间戳,第一个是 你播种时的时间戳,第二个是 种子发芽成熟之后的时间戳。然后让你计算 种子成熟的倒计时。JavaScript 获取当前时间戳:第一种方法:var timestamp = Date.parse(new Date());结果:1280977330000第二种方法:var timestamp = (ne...原创 2018-10-23 13:32:36 · 10963 阅读 · 1 评论 -
js 函数中的 return+匿名函数
今天一个刚学js的朋友给了我一段代码问为什么方法不执行,代码如下:代码如下:function makefunc(x) { return function (){ return x; } } alert(makefunc(0)); 结果是:function (){return x;}不是0不是脚本写错了,只是没搞懂return,从当前函数退出,并从那个函数返...转载 2018-10-24 14:15:17 · 1484 阅读 · 0 评论 -
Object.keys() 的使用
假如有这样一个需求,打印下面这个对象中所有的键: var person = { name: '张三', age: 18, 66: '66', 2: '2' };1.使用for in循环试一下 for(var item in person){ console.log(item); }控制台打印的结果是 : ...原创 2019-03-06 20:56:11 · 11021 阅读 · 0 评论 -
Math.max 找出数组中最大值,一直报NaN 的问题
var arr=[1,2,3,45,66]var num =Math.max(arr.join(','))alert(num)为什么用了arr.join(',')后,弹出的num就是Nan呢?方法一:var arr = [1,2,3,45,66]var num = Math.max.apply( null, arr );console.log( num );apply的...转载 2019-05-08 22:23:27 · 4107 阅读 · 0 评论 -
js判断当前是以什么方式打开浏览器
我们同一个网页,可能会在PC端打开或者不同的移动端打开,那么,我们想要在不同的设备上打开显示不同的效果,就需要知道当前是以什么方式打开的浏览器。Navigator对象提供的属性可以解决这些问题,Navigator对象包含有关浏览器的信息。W3School:http://www.w3school.com.cn/jsref/dom_obj_navigator.asp<!DOCTYPE h...原创 2018-03-07 11:02:58 · 880 阅读 · 0 评论 -
i++ 和 ++i 的区别
i++ 与 ++i 的主要区别有两个:1、 i++ 返回原来的值,++i 返回加1后的值。2、 i++ 不能作为左值,而++i 可以。再来看下面这个函数,看下打印的分别是几 function a() { var i = 1; return function () { console.log(i++);原创 2018-02-03 09:22:10 · 260 阅读 · 0 评论 -
input框中只能输入数字
通过onkeyup事件是输上后再去掉非数字字符<input type="text" onkeyup="value=value.replace(/[^\d]/g,'') " ><input onkeyup='this.value=this.value.replace(/\D/gi,'')'>...原创 2018-01-15 14:33:43 · 265 阅读 · 0 评论 -
Javascript的错误处理与调试
js的错误与调试在网页按F12开发者工具查看Console控制台会发现报错了,Uncaught ReferenceError: alter is not defined设置断点打开开发者工具在sources页打开源代码在代码左侧(行号边上)单机即可在该处设置断点先来调试一下这个程序:原创 2017-07-29 20:28:45 · 2609 阅读 · 0 评论 -
js中关于计时器的案例
今天做之前的练习,明白了setTimeout()和setInterval()的区别setTimeout(“函数”,“毫秒数”) //未来的某时执行代码,只执行一次,例如5秒后执行这个函数,只执行一次setInterval(”函数”,”毫秒数”);//计时器,就是每隔一段时间就调用一次这个函数,如果不停止这个计时器,就一直执行;clear原创 2017-08-12 21:24:05 · 887 阅读 · 0 评论 -
H5面试题---&&的使用
var a = 2;var b = 1;if(a%2 && b++);a++;alert(a);alert(b);弹出的a和b分别是? 结果:a=3,b=1;与(&&)两者同时成立结果才成立;第一个关系是true第二个关系也是true,那么结果才是true &&与运算:如果出现了false,后面的语句将不再执行 ||原创 2017-08-12 21:12:49 · 731 阅读 · 0 评论 -
JS中数组的应用与简单算法(冒泡排序)
(1)查找 Indexof是系统提供的我们也可以实现自己的查找方法 var a = [1,2,3,4,5,65,6,7,8,98,9]; var num = Number(prompt("请输入要查找的值")); var index = -1;//最初认为要找的数不在数组中 for(var i in a ){ if(a[i]=原创 2017-08-06 17:07:35 · 355 阅读 · 0 评论 -
JavaScript中的数组
1 数组的概念案例:计算10名同学的平均分 var a1,a2,a3,a4,a5; a1 = Number(prompt("请输入分数")); a2 = Number(prompt("请输入分数")); a3 = Number(prompt("请输入分数")); a4 = Number(prompt("请输入分数")); a5 = Num原创 2017-08-02 21:14:28 · 298 阅读 · 0 评论 -
JS函数的概念
函数的概念为什么需要使用函数?首先看一下输出100所有素数问题的解决方案 方案一:循环的嵌套 for (var n=2; n<=100; n++) { var m = Math.ceil(Math.sqrt(n));//根据相关数学定理,查找范围可缩小至[2,sqrt(n)] var found = false;//找到因子的标原创 2017-08-01 20:46:03 · 431 阅读 · 0 评论 -
Js程序设计思维模式
我们习惯于将现实世界的思维方式映射到程序逻辑的实现中,这就是程序设计。生活中的程序: 如宿舍保修:填写保修单==>上报宿舍管理员==>联系物业==>找维修师傅上门维修==>反馈 计算机中的程序:解决问题的步骤描述,但用的是计算机语言描述程序执行者描述语言执行速度生活中原创 2017-07-26 20:39:11 · 795 阅读 · 0 评论 -
JS程序设计基础总结
1.1数据类型字符串 String数值 number布尔类型 booleanalert() 警告提示框(打印)typeof() 数据的类型 script>// alert("哈喽");// alert(typeof ("哈喽啊"));// alert(typeof(17原创 2017-07-25 20:19:38 · 413 阅读 · 0 评论 -
认识JavaScript
1 基础内容1.1 基本概念首先,提出来一个问题,为什么需要有JavaScript(JS有什么作用)呢?先回忆一下HTML和CSS:HTML:负责呈现的内容。CSS:负责内容呈现的方式。HTML+CSS:实现了静态页面,但静态页面没有任何的交互。实际上,我们更多的页面的要求是动态的,比如新浪新闻的时间栏……时间是动态显示的,还有页面的验证码、注册、登陆页面的数据...原创 2017-07-25 19:34:03 · 308 阅读 · 0 评论 -
百度搜狗等搜索引擎智能提示(JSONP跨域实现自动补全搜索建议)
转自:http://www.cnblogs.com/woider/p/5805248.html---------------------------------------搜索引擎JSONP接口---------------------------------------------提示:URL中的 #content# 为搜索的 关键字谷歌(Google)http://suggestqueries...转载 2017-09-03 17:06:54 · 22816 阅读 · 1 评论 -
用jquery获取元素的下标的值和eq的用法--案例
jquery中eq的定义和用法eq(index); 选择器选取带有指定 index 值的元素。jquery中获取元素的下标的值原创 2017-08-27 19:34:19 · 38079 阅读 · 0 评论 -
node.js的配置与安装和一些简单的dos命令
node.js是一种javascript的运行环境,能够使得javascript脱离浏览器运行去官网上http://nodejs.cn/下载需要的版本可以下载.msi后缀的,下载之后直接安装即可一些简单的dos命令:window+R 进入运行窗口;输入cmd,进入dos窗口;检查node.js是否安装成功,在dos窗口输入 node -v 查询当前node版原创 2017-10-16 10:58:33 · 1759 阅读 · 0 评论 -
jQuery的鼠标移入与移出事件
jQuery的鼠标移入与移出事件mouseover与mouseenter不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件。只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。mouseout与mouseleave不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。只有在鼠原创 2017-12-08 12:56:19 · 4694 阅读 · 0 评论 -
JQ 按回车键实现快捷登录的方法
JQ 按回车键实现快捷登录的方法: Title 用户名: 密码: 提交 $('#username').on('keyup', function (e) { var code = e.keyCode; if (code == 13) { var user原创 2018-01-15 14:24:04 · 729 阅读 · 0 评论 -
JavaScript用穷举写百钱买百鸡问题
/* * 百鸡问题:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一. * 百钱买百鸡,问鸡翁、鸡母、鸡雏各几何? * */ for(var cock=0; cock<=20; cock++){ for(var hen=0; hen<=33;hen++){ var chicken = 100-cock-hen;原创 2017-08-07 20:09:24 · 1661 阅读 · 0 评论