使用jquery过滤上传文件的类型和限制文件的大小
<script type="text/javascript">
$(document)ready(function(){ $("#form0")submit(function() {var filepath=$("input[name='myFile']")val();
var extStart=filepathlastIndexOf("");
var ext=filepathsubstring(extStart,filepathlength)toUpperCase(); if(ext!="BMP"&&ext!="PNG"&&ext!="GIF"&&ext!="JPG"&&ext!="JPEG"){
alert("限于bmp,png,gif,jpeg,jpg格式");
return false; }
var img=new Image();
imgsrc=filepath;
while(true){
if(imgfileSize>0){
if(imgfileSize>31024){
alert("不大于300KB。");
return false; }
break; }
}
return true; });
});
</script>
fileSize属性的前提是先加载到浏览器页面上,而不是浏览器缓存中!!!
例子:
<SCRIPT>
var imgs=new Image()
imgssrc=">
2、错误的代码是:
(错误) 在添加了HTML之后立即调用代码获取尺寸
3、(错误) 用jQuery的load()事件处理
4、经实际测试,使用jQuery 132及以上版本(162、182),在服务器端测试读取浏览器缓存时,可以得到正确尺寸。不存在原作者所说的jQuery的load()事件存在BUG的问题。
5、下面这种才是真正正确的方法,使用JavaScript的Image类:
(正确) 的方法:
6、或一种办法
解决方法:原生jsonload方法:
二维码的生成(可设置大小) 本文写的二维码生成是基于jQuery和jqueryqrcodeminjs插件的,本文将介绍两种方法和方式,仅供朋友选择和取舍。本文最下面附有插件的下载地址! 方式: 基于jqueryqrcodeminjs插件生成
可以;
方法:varvarj=jQuerynoConflict();
jQuerynoConflict([extreme])运行这个函数将变量$的控制权让渡给第一个实现它的那个库。这有助于确保jQuery不会与其他库的$对象发生冲突。在运行这个函数后,就只能使用jQuery变量访问jQuery对象。
例如,在要用到$("divp")的地方,就必须换成jQuery("divp")。'''注意:'''这个函数必须在你导入jQuery文件之后,并且在导入另一个导致冲突的库'''之前'''使用。当然也应当在其他冲突的库被使用之前,除非jQuery是最后一个导入的。
语言特点
快速获取文档元素
jQuery的选择机制构建于Css的选择器,它提供了快速查询DOM文档中元素的能力,而且大大强化了JavaScript中获取页面元素的方式。
提供漂亮的页面动态效果
jQuery中内置了一系列的动画效果,可以开发出非常漂亮的网页,许多网站都使用jQuery的内置的效果,比如淡入淡出、元素移除等动态特效。
创建AJAX无刷新网页
AJAX是异步的JavaScript和ML的简称,可以开发出非常灵敏无刷新的网页,特别是开发服务器端网页时,比如PHP网站,需要往返地与服务器通信,如果不使用AJAX,每次数据更新不得不重新刷新网页,而使用AJAX特效后,可以对页面进行局部刷新,提供动态的效果。
提供对JavaScript语言的增强
jQuery提供了对基本JavaScript结构的增强,比如元素迭代和数组处理等 *** 作。
增强的事件处理
jQuery提供了各种页面事件,它可以避免程序员在HTML中添加太事件处理代码,最重要的是,它的事件处理器消除了各种浏览器兼容性问题。
更改网页内容
jQuery可以修改网页中的内容,比如更改网页的文本、插入或者翻转网页图像,jQuery简化了原本使用JavaScript代码需要处理的方式。 [6-7]
工作原理
jQuery的模块可以分为3部分:入口模块、底层支持模块和功能模块。
在构造jQuery对象模块中,如果在调用构造函数jQuery()创建jQuery对象时传入了选择器表达式,则会调用选择器Sizzle(一款纯JavaScript实现的CSS选择器引擎,用于查找与选择器表达式匹配的元素集合)遍历文档,查找与之匹配的DOM元素,并创建一个包含了这些DOM元素引用的jQuery对象。
浏览器功能测试模块提供了针对不同浏览器功能和bug的测试结果,其他模块则基于这些测试结果来解决浏览器之间的兼容性问题。
在底层支持模块中,回调函数列表模块用于增强对回调函数的管理,支持添加、移除、触发、锁定、禁用回调函数等功能;异步队列模块用于解耦异步任务和回调函数,它在回调函数列表的基础上为回调函数增加了状态,并提供了多个回调函数列表,支持传播任意同步或异步回调函数的成功或失败状态;数据缓存模块用于为DOM元素和Javascript对象附加任意类型的数据;队列模块用于管理一组函数,支持函数的入队和出队 *** 作,并确保函数按顺序执行,它基于数据缓存模块实现。
在功能模块中,事件系统提供了统一的事件绑定、响应、手动触发和移除机制,它并没有将事件直接绑定到DOM元素上,而是基于数据缓存模块来管理事件;Ajax模块允许从服务器上加载数据,而不用刷新页面,它基于异步队列模块来管理和触发回调函数;动画模块用于向网页中添加动画效果,它基于队列模块来管理和执行动画函数;属性 *** 作模块用于对HTML属性和DOM属性进行读取、设置和移除 *** 作;DOM遍历模块用于在DoM树中遍历父元素、子元素和兄弟元素;DOM *** 作模块用于插入、移除、复制和替换DOM元素;样式 *** 作模块用于获取计算样式或设置内联样式;坐标模块用于读取或设置DOM元素的文档坐标;尺寸模块用于获取DOM元素的高度和宽度。
这个无需用jquery, 但是浏览器必须要支持html5,
假设页面上有一个文件域
<input type="file" id="file_input" />
var input = documentgetElementById("file_input");
//文件域选择文件时, 执行readFile函数
inputaddEventListener('change',readFile,false);
function readFile(){
var file = thisfiles[0];
consolelog("文件名:"+filename);
consolelog("文件类型:"+filetype);
consolelog("文件大小:"+filesize);
}
以上就是关于jquery 判断文件大小全部的内容,包括:jquery 判断文件大小、动态加载的jquery 不能用,提示Uncaught ReferenceError: $ is not defined、qrcode怎么获取生成二维码的尺寸等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)