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 相关文章推荐
asm.js使用示例代码
Nov 28 Javascript
js 阻止子元素响应父元素的onmouseout事件具体实现
Dec 23 Javascript
JavaScript使用function定义对象并调用的方法
Mar 23 Javascript
jQuery Mobile开发中日期插件Mobiscroll使用说明
Mar 02 Javascript
在Docker快速部署Node.js应用的详细步骤
Sep 02 Javascript
利用node.js如何搭建一个简易的即时响应服务器
May 28 Javascript
Angular表格神器ui-grid应用详解
Sep 29 Javascript
vue 实现类似淘宝星级评分的示例
Mar 01 Javascript
详解基于DllPlugin和DllReferencePlugin的webpack构建优化
Jun 28 Javascript
angular中如何绑定iframe中src的方法
Feb 01 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
Apr 16 Javascript
AJAX检测用户名是否存在的方法
Mar 24 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
世界上第一台立体声收音机
2021/03/01 无线电
国外比较好的几个的Php开源建站平台小结
2010/04/22 PHP
ThinkPHP的SAE开发相关注意事项详解
2016/10/09 PHP
ThinkPHP5.0框架结合Swoole开发实现WebSocket在线聊天案例详解
2019/04/02 PHP
php设计模式之迭代器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
jQuery 入门讲解1
2009/04/15 Javascript
24款非常有用的 jQuery 插件分享
2011/04/06 Javascript
禁用键盘上的(全局)指定键兼容iE、Chrome、火狐
2013/05/14 Javascript
jQuery异步加载数据并添加事件示例
2014/08/24 Javascript
JS模式之简单的订阅者和发布者模式完整实例
2015/06/30 Javascript
JS实现双击屏幕滚动效果代码
2015/10/28 Javascript
jQuery与JS加载事件用法分析
2016/09/04 Javascript
Bootstrap的fileinput插件实现多文件上传的方法
2016/09/05 Javascript
使用Javascript监控前端相关数据的代码
2016/10/27 Javascript
jquery replace方法去空格
2017/05/08 jQuery
Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
2017/09/18 Javascript
vue使用axios时关于this的指向问题详解
2017/12/22 Javascript
vue中选项卡点击切换且能滑动切换功能的实现代码
2018/11/25 Javascript
JavaScript 扩展运算符用法实例小结【基于ES6】
2019/06/17 Javascript
vue-cli设置publicPath小记
2020/04/14 Javascript
[01:09:10]NB vs Liquid Supermajor小组赛 A组胜者组决赛 BO3 第一场 6.2
2018/06/04 DOTA
python多重继承实例
2014/10/11 Python
Python3.6简单操作Mysql数据库
2017/09/12 Python
python实现读取大文件并逐行写入另外一个文件
2018/04/19 Python
pandas 将索引值相加的方法
2018/11/15 Python
Python面向对象程序设计类的封装与继承用法示例
2019/04/12 Python
django页面跳转问题及注意事项
2019/07/18 Python
keras 使用Lambda 快速新建层 添加多个参数操作
2020/06/10 Python
Python requests HTTP验证登录实现流程
2020/11/05 Python
网易微博Web App用HTML5开发的过程介绍
2012/06/13 HTML / CSS
《云雀的心愿》教学反思
2014/02/25 职场文书
计算机专业毕业生求职信
2014/04/30 职场文书
介绍长城的导游词
2015/01/30 职场文书
各类场合主持词开场白范文集锦
2019/08/16 职场文书
辞职报告(范文三篇)
2019/08/27 职场文书
Oracle数据库中通用的函数实例详解
2022/03/25 Oracle