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 相关文章推荐
JavaScript 模式之工厂模式(Factory)应用介绍
Nov 15 Javascript
Bootstrap每天必学之导航条
Nov 27 Javascript
javascript仿京东导航左侧分类导航下拉菜单效果
Nov 25 Javascript
JavaScript来实现打开链接页面的简单实例
Jun 02 Javascript
深入分析javascript中的错误处理机制
Jul 17 Javascript
原生JS版和jquery版实现checkbox的全选/全不选/点选/行内点选(Mr.Think)
Oct 29 Javascript
vue模板语法-插值详解
Mar 06 Javascript
Angular 4.x 路由快速入门学习
May 03 Javascript
微信小程序开发之map地图实现教程
Jun 08 Javascript
20行js代码实现的贪吃蛇小游戏
Jun 20 Javascript
Javascript之图片的延迟加载的实例详解
Jul 24 Javascript
原生JS实现相邻月份日历
Oct 13 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代码技巧的小结
2013/06/02 PHP
PHP错误处理函数
2016/04/03 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
详解php用static方法的原因
2018/09/12 PHP
jquery 查找iframe父级页面元素的实现代码
2011/08/28 Javascript
js如何取消事件冒泡
2013/09/23 Javascript
JavaScript将数据转换成整数的方法
2014/01/04 Javascript
jquery选择器大全 全面详解jquery选择器
2014/03/06 Javascript
js 通过cookie实现刷新不变化树形菜单
2014/10/30 Javascript
JavaScript原生对象之Number对象的属性和方法详解
2015/03/13 Javascript
使用node+vue.js实现SPA应用
2016/01/28 Javascript
基于jquery编写的放大镜插件
2016/03/23 Javascript
jquery Deferred 快速解决异步回调的问题
2016/04/05 Javascript
js 上传文件预览的简单实例
2016/08/16 Javascript
jQuery插件ajaxFileUpload异步上传文件
2016/10/19 Javascript
Vue2单一事件管理组件通信
2017/05/09 Javascript
Bootstrap 树控件使用经验分享(图文解说)
2017/11/06 Javascript
vue单页缓存存在的问题及解决方案(小结)
2018/09/25 Javascript
JavaScript实现图片轮播特效
2019/10/23 Javascript
玩转python爬虫之正则表达式
2016/02/17 Python
详解 Python中LEGB和闭包及装饰器
2017/08/03 Python
详解从Django Rest Framework响应中删除空字段
2019/01/11 Python
Python字符串函数strip()原理及用法详解
2020/07/23 Python
python 偷懒技巧——使用 keyboard 录制键盘事件
2020/09/21 Python
10个python爬虫入门实例(小结)
2020/11/01 Python
CSS3实现时间轴效果
2016/07/11 HTML / CSS
Jogun Shop中文官网:韩国知名时尚男装网站
2016/10/12 全球购物
Agoda台湾官网:国内外订房2折起
2018/03/20 全球购物
企业宣传方案
2014/03/04 职场文书
爱护公物标语
2014/06/24 职场文书
鲁迅故居导游词
2015/02/05 职场文书
Python多个MP4合成视频的实现方法
2021/07/16 Python
js中Object.create实例用法详解
2021/10/05 Javascript
Python中super().__init__()测试以及理解
2021/12/06 Python
SQL Server的存储过程与触发器以及系统函数和自定义函数
2022/04/10 SQL Server
java中为什么说子类的构造方法默认访问的是父类的无参构造方法
2022/04/13 Java/Android