javascript实现上传图片并预览的效果实现代码


Posted in Javascript onApril 11, 2011

今天用alphaimageloader滤镜的src属就是其中的主角它将使用绝对或相对url地址指定背景图像。假如忽略此参数,滤镜将不会作用。

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> 
<html xmlns="http://www.3ppt.com /"> 
<head> 
<meta http-equiv="content-type" content="text/html; charset=gb2312" /> 
<title></title> 
<style type="text/css教程"> 
#picshow 
{ 
filter:progid:dximagetransform.microsoft.alphaimageloader(sizingmethod=scale); 
width:88px; 
height:125px; 
} 
</style> 
<script type="text/网页特效" language="javascript"> 
<!-- 
function upimg(imgfile) 
{ 
var picshow = document.getelementbyid("picshow"); 
picshow.filters.item("dximagetransform.microsoft.alphaimageloader").src = imgfile.value; 
picshow.style.width = "88px"; 
picshow.style.height = "125px"; 
} 
--> 
</script> 
</head> 
<body> 
<div id="picshow"></div> 
<p>选择图片:<input type="file" size="20" onchange="upimg(this);" /></p> 
</body> 
</html>

实例二、同时兼容ie6,ie7,ie8和 firefox。
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" 
"http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
<meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
<script> 
var picpath; 
var image; 
// preview picture 
function preview() 
{ 
document.getelementbyid('preview').style.display = 'none'; 
// 下面代码用来获得图片尺寸,这样才能在ie下正常显示图片 
document.getelementbyid('box').innerhtml 
= "<img width='"+image.width+"' height='"+image.height+"' id='apic' src='"+picpath+"'>"; 
} 
// show view button 
function buttonshow() 
{ 
/* 
这里用来解决图片加载延时造成的预览失败. 
简单说明一下,当image对象的src属性发生改变时javascript会重新给image装载图片内容, 
这通常是需要一些时间的,如果在加载完成之前想将图片显示出来就会造成错误,所以我们 
通过图片的宽度和高度来判断图片是否已经被成功加载,加载完毕才会显示预览按钮. 
这里我仍然有一个困惑,在ie7下预览效果偶尔会失效. 
*/ 
if ( image.width == 0 || image.height == 0 ) { 
settimeout(buttonshow, 1000); 
} else { 
document.getelementbyid('preview').style.display = 'block'; 
} 
} 
function loadimage(ele) { 
picpath = getpath(ele); 
image = new image(); 
image.src = picpath; 
settimeout(buttonshow, 1000); 
} 
function getpath(obj) 
{ 
if(obj) 
{ 
//ie 
if (window.navigator.useragent.indexof("msie")>=1) 
{ 
obj.select(); 
// ie下取得图片的本地路径 
return document.selection.createrange().text; 
} 
//firefox 
else if(window.navigator.useragent.indexof("firefox")>=1) 
{ 
if(obj.files) 
{ 
// firefox下取得的是图片的数据 
return obj.files.item(0).getasdataurl(); 
} 
return obj.value; 
} 
return obj.value; 
} 
} 
</script> 
</head> 
<body> 
<input type="file" name="pic" id="pic" onchange='loadimage(this)' /> 
<input id='preview' type='button' value='preview' style='display:none;' onclick='preview();'> 
<div id='box'></div> 
</body> 
</html>
Javascript 相关文章推荐
IE6下CSS图片缓存问题解决方法
Dec 09 Javascript
JQuery获取浏览器窗口内容部分高度的代码
Feb 24 Javascript
jquery获取元素值的方法(常见的表单元素)
Nov 15 Javascript
javascript框架设计之浏览器的嗅探和特征侦测
Jun 23 Javascript
jQuery获取同级元素的简单代码
Jul 09 Javascript
angularjs+bootstrap菜单的使用示例代码
Mar 07 Javascript
JS ES6多行字符串与连接字符串的表示方法
Apr 26 Javascript
jquery处理checkbox(复选框)是否被选中实例代码
Jun 12 jQuery
qrcode生成二维码微信长按无法识别问题的解决
Apr 04 Javascript
layui添加动态菜单与选项卡 AJAX请求的例子
Sep 25 Javascript
解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题
Jul 27 Javascript
ES6中的Javascript解构的实现
Oct 30 Javascript
window.dialogArguments 使用说明
Apr 11 #Javascript
30个最佳jQuery Lightbox效果插件分享
Apr 11 #Javascript
基于jquery的仿百度搜索框效果代码
Apr 11 #Javascript
基于jquery的监控数据是否发生改变
Apr 11 #Javascript
jQuery实战之品牌展示列表效果
Apr 10 #Javascript
基于PHP+Jquery制作的可编辑的表格的代码
Apr 10 #Javascript
JQuery优缺点分析说明
Apr 10 #Javascript
You might like
PHP远程采集图片详细教程
2014/07/01 PHP
微信公众号点击菜单即可打开并登录微站的实现方法
2014/11/14 PHP
浅谈PHP定义命令空间的几个注意点(推荐)
2016/10/29 PHP
Extjs中DisplayField的日期或者数字格式化扩展
2010/09/03 Javascript
jquery实现表单输入时提示文字滑动向上效果
2015/08/10 Javascript
JS实现可自定义大小,可双击关闭的弹出层效果
2015/10/16 Javascript
AngularJS使用自定义指令替代ng-repeat的方法
2016/09/17 Javascript
RGB和YUV 多媒体编程基础详细介绍
2016/11/04 Javascript
jQuery图片轮播(二)利用构造函数和原型创建对象以实现继承
2016/12/06 Javascript
React组件的三种写法总结
2017/01/12 Javascript
Angular 4依赖注入学习教程之Injectable装饰器(六)
2017/06/04 Javascript
详解微信小程序中的页面代码中的模板的封装
2017/10/12 Javascript
VUE长按事件需求详解
2017/10/18 Javascript
js实现for循环跳过undefined值示例
2019/07/02 Javascript
关于layui 下拉列表的change事件详解
2019/09/20 Javascript
vue-cli创建的项目中的gitHooks原理解析
2020/02/14 Javascript
[02:09]DOTA2辉夜杯 EHOME夺冠举杯现场
2015/12/28 DOTA
python装饰器使用方法实例
2013/11/21 Python
python复制文件代码实现
2013/12/23 Python
跟老齐学Python之不要红头文件(1)
2014/09/28 Python
Python中map和列表推导效率比较实例分析
2015/06/17 Python
python学生信息管理系统(初级版)
2018/10/17 Python
python代码编写计算器小程序
2020/03/30 Python
英国Amara家居法国网站:家居装饰,现代装饰和豪华礼品
2016/12/15 全球购物
KIEHL’S科颜氏官方旗舰店:源自美国的顶级护肤品牌
2018/06/07 全球购物
猫咪家具:CatsPlay
2018/11/03 全球购物
教师旷工检讨书
2014/01/18 职场文书
公务员保密承诺书
2014/03/27 职场文书
食品安全承诺书范文
2014/08/29 职场文书
整顿机关作风心得体会
2014/09/10 职场文书
工作时间擅自离岗检讨书
2014/10/24 职场文书
欠款起诉书范文
2015/05/19 职场文书
管理者日常工作必备:22条企业管理流程模板!
2019/07/12 职场文书
基于Redis延迟队列的实现代码
2021/05/13 Redis
MySQL 开窗函数
2022/02/15 MySQL
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers