js代码

原生JS使用ajax上传文件(支持单/多文件上传),ajax模拟表单方式上传文件(支持单/多文件上传),ajax和PHP实现模拟表单上传文件(支持单/多文件上传),有图片为例,复制即能用

做~自己de王妃 提交于 2020-01-26 11:30:04
原生JS模拟表单提交要用到 formData 先看截图: index.html是入口文件,同级的upload.php是PHP上传接口 看代码: 提示:这里直接是multiple上传多个文件的,如果是上传单文件的只需限制下上传文件的数量就行了,这里的upload.php是单文件和多文件统一上传接口,都支持 index.html <!DOCTYPE html> < html lang = " en " > < head > < meta charset = " UTF-8 " > < meta name = " viewport " content = " width=device-width, initial-scale=1.0 " > < meta http-equiv = " X-UA-Compatible " content = " ie=edge " > < title > 单/多文件上传demo </ title > < style > * { margin : 0 ; padding : 0 ; } html,body { width : 100% ; height : 100% ; } ul,dl,ol { list-style : none ; padding : 0 ; margin : 0 ; } .out-box { width : 100% ; height

js 自带的 map() 方法

不想你离开。 提交于 2020-01-26 09:21:34
就是调用对象是一个Array,对Array类型增加了一个原型写法的函数,一般写一些扩展时经常用。比如判断一个元素是否在数组中之类的 Array.prototype.inArray= function (value){ for ( var i=0;i< this .length;i++){ if ( this [i] == value){ return true ; } } return false }; var arr=[ "1" , "2" , "3" ]; //以下同调用方式,在inArray函数中,使用this即可得到arr arr.inArray( "1" ); Array.prototype.inArray= function (value){ for ( var i=0;i< this .length;i++){ if ( this [i] == value){ return true ; } } return false }; var arr=[ "1" , "2" , "3" ]; //以下同调用方式,在inArray函数中,使用this即可得到arr arr.inArray( "1" ); js数组去重的三种常用方法总结 第一种是比较常规的方法 思路: 1.构建一个新的数组存放结果 2.for循环中每次从原数组中取出一个元素,用这个元素循环与结果数组对比 3

video标签的属性

做~自己de王妃 提交于 2020-01-26 05:30:59
video:标签的属性 src :视频的属性 poster:视频封面,没有播放时显示的图片 preload:预加载 autoplay:自动播放 loop:循环播放 controls:浏览器自带的控制条 width:视频宽度 height:视频高度 html 代码 < video id = " media " src = " http://www.sundxs.com/test.mp4 " controls width = " 400px " heigt = " 400px " > </ video > //audio和video都可以通过JS获取对象,JS通过id获取video的对象 获取video对象 Media = document . getElementById ( "media" ) ; 来源: CSDN 作者: NABOAN 链接: https://blog.csdn.net/qq_42191775/article/details/103940767

JS中的call()和apply()方法

蹲街弑〆低调 提交于 2020-01-26 03:50:31
1、方法定义 call方法: 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象。 说明: call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。 如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。 apply方法: 语法:apply([thisObj[,argArray]]) 定义:应用某一对象的一个方法,用另一个对象替换当前对象。 说明: 如果 argArray 不是一个有效的数组或者不是 arguments 对象,那么将导致一个 TypeError。 如果没有提供 argArray 和 thisObj 任何一个参数,那么 Global 对象将被用作 thisObj, 并且无法被传递任何参数。 2、常用实例 a、 Java代码 function add(a,b) { alert(a+b); } function sub(a,b) { alert(a-b); } add.call(sub, 3, 1); 这个例子中的意思就是用 add 来替换 sub,add.call(sub,3,1) == add(3,1) ,所以运行结果为:alert(4); // 注意:js

用JS实现 点击并自动切换轮播图

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-26 03:43:40
不是很难,直接附上代码,有注释 css代码: * { margin : 0 ; padding : 0 ; } li { list-style : none ; } .wrap { width : 1200px ; margin : 0 auto ; position : relative ; } .wrap .dbox { position : absolute ; right : 50px ; bottom : 20px ; overflow : hidden ; } .dbox li { width : 20px ; height : 20px ; background : #fff ; float : left ; border-radius : 50% ; margin : 0 10px ; } .dbox .dboxli { background : hotpink ; } .dimg img { width : 1200px ; height : 400px ; display : none ; } .dimg .imgli { display : block ; } JS代码: var wrap = document . getElementsByClassName ( "wrap" ) [ 0 ] ; var box = document .

js之数组去重的方法

坚强是说给别人听的谎言 提交于 2020-01-26 03:34:47
数组去重?即去除数组中重复的元素... 首先第一种方法就是利用set集合的特性实现去重(其实set用法很多,有兴趣的可以多去了解下);   那什么是set集合呢?set集合是一种新的数据存储格式;   set语法:new Set()     参数:一个数组 set集合可以称为史上最快的一种去重方式,如下: var arr = [1, 2, 3, 4, 5, 5, 4, 3, 2, 1 ]; var set = new Set(arr); console.log(set) 第二种方法则是先封装好一个函数判断数组中是否存在某个值,然后再利用这个原理进行数组去重;代码如下: //判断数组中是否存在某个值 function has(arr, n){ var bStop = false; for(var i in arr){ if(arr[i] == n){ bStop = true; break; } } return bStop; } function norepeat2(arr){ var newArr = []; for(var i in arr){ if(!has(newArr, arr[i])){ newArr.push(srr[i]) } } return newArr; } 第三种方法呢,则是利用es5中新增的方法indexOf去重;   indexOf()作用

js接受java后台元素为键值对的list的json数据

馋奶兔 提交于 2020-01-26 03:29:33
后台传递: public void f(HttpServletResponse response) { // ..... // AList = ['11', '22', '33']; // BList = [{'11', 11}, {'22', 22}, {'33', 33}]; //将要传递的数据包装成一个个的list Map map = new HashMap(); map.put("AList", AList); map.put("BList", Blist); //将map转成一个json对象 JSONObject frontSend = JSONObject.parseObject(JSON.toJSONString(map)); //设置字体 response.setCharacterEncoding("UTF-8"); try { response.getWriter().println(frontSend ); } catch (IOException e) { e.printStackTrace(); } } 前台接受: // ... success : function (result) { var resultJson = eval('(' + result+ ')'); var AList = resultJson.AList; var BList =

js keyup、keypress和keydown事件 详解

拟墨画扇 提交于 2020-01-26 03:24:49
js keyup、keypress和keydown事件都是有关于键盘的事件 当一个按键被pressed 或released在每一个现代浏览器中,都可能有三种客户端事件。 keydown event keypress event keyup event keydown事件发生在键盘的键被按下的时候,接下来触发 keypress事件。 keyup 事件在按键被释放的时候触发。 这三个事件在页面中的使用方法如下例: <input id="testkeyevent" name="testkeyevent" onKeyUp="keyup()" /> <input id="testkeyevent" name="testkeyevent" onkeypress="keypress()" /> <input id="testkeyevent" name="testkeyevent" onkeydown="keydown()" /> 对应的js函数: function keyup(){ ...} function keypress(){ ...} function keydown(){ ...} 注意: KeyDown触发后,不一定触发KeyUp,当KeyDown 按下后,拖动鼠标,那么将不会触发KeyUp事件。 KeyPress主要用来捕获数字( 注意:包括Shift+数字的符号 )、字母(

看完这几道 JavaScript 面试题,让你与考官对答如流(下)

℡╲_俬逩灬. 提交于 2020-01-25 21:59:06
作者:Mark A 译者:前端小智 来源:dev 点赞再看,养成习惯 本文 GitHub https://github.com/qq449245884/xiaozhi 上已经收录,更多往期高赞文章的分类,也整理了很多我的文档,和教程资料。欢迎Star和完善,大家面试可以参照考点复习,希望我们一起有点东西。 由于篇幅过长,我将此系列分成上中下三篇,上、中篇: 看完这几道 JavaScript 面试题,让你与考官对答如流(中) 看完这几道 JavaScript 面试题,让你与考官对答如流(上) 51. 什么是 async/await 及其如何工作? 52. 展开运算符和Rest运算符有什么区别? 53. 什么是默认参数? 54. 什么是包装对象(wrapper object)? 55. 隐式和显式转换有什么区别? 56. 什么是NaN? 以及如何检查值是否为 NaN? 57. 如何判断值是否为数组? 58. 如何在不使用 % 模运算符的情况下检查一个数字是否是偶数? 59. 如何检查对象中是否存在某个属性? 60. AJAX 是什么? 61. 如何在JavaScript中创建对象? 62. Object.seal 和 Object.freeze 方法之间有什么区别? 63. 对象中的 in 运算符和 hasOwnProperty 方法有什么区别? 64.

js类(继承)(二)

时光毁灭记忆、已成空白 提交于 2020-01-25 20:03:13
1. 定义js类 js并不是一种面向对向的语言, 没有提供对类的支持, 因此我们不能像在传统的语言里那样 用class来定义类, 但我们可以利用js的闭包封装机制来实现js类, 我们来封装一个简的Shape类. 代码如下: function ShapeBase() { this.show = function() { alert("ShapeBase show"); }; this.init = function(){ alert("ShapeBase init"); }; } 这个类里定义了两个方法:show和init, 需要注意的是这里用到了this来声明, 而不是var, 因为用var是用来定义私有方法的. 另外, 我们还可以用prototype属性来定义Shape的方法. 代码如下: ShapeBase.prototype={ show:function() { alert("ShapeBase show"); }, init:function() { alert("ShapeBase init"); } }; 现在, 类是写好了, 让我们写个js来测试下, 看看结果是不是跟我们想象的一样呢? 代码如下: function test(src){ var s=new ShapeBase(); s.init(); s.show(); } 看到了吧, 其调用方式和C#一模一样,