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中的几个关键概念的理解-原型链的构建
May 12 Javascript
jquery判断复选框选中状态以及区分attr和prop
Dec 18 Javascript
jquery实现一个简单的表单验证实例
Mar 30 Javascript
Bootstrap导航条学习使用(二)
Feb 08 Javascript
jQuery查找dom的几种方法效率详解
May 17 jQuery
vue.js数据绑定的方法(单向、双向和一次性绑定)
Jul 13 Javascript
提高Node.js性能的应用技巧分享
Aug 10 Javascript
新版vue-cli模板下本地开发环境使用node服务器跨域的方法
Apr 03 Javascript
promise和co搭配生成器函数方式解决js代码异步流程的比较
May 25 Javascript
webpack@v4升级踩坑(小结)
Oct 08 Javascript
vue实现select下拉显示隐藏功能
Sep 30 Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
Aug 12 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教程之魔术方法的使用示例(php魔术函数)
2014/02/12 PHP
php中fgetcsv()函数用法实例
2014/11/28 PHP
详谈php静态方法及普通方法的区别
2016/10/04 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
jQuery DOM操作小结与实例
2010/01/07 Javascript
jQuery对象和Javascript对象之间转换的实例代码
2013/03/20 Javascript
3种不同方式的焦点图轮播特效分享
2013/10/30 Javascript
jQuery 2.0.3 源码分析之core(一)整体架构
2014/05/27 Javascript
avalonjs制作响应式瀑布流特效
2015/05/06 Javascript
jquery+CSS实现的多级竖向展开树形TRee菜单效果
2015/08/24 Javascript
解决JS请求服务器gbk文件乱码的问题
2015/10/16 Javascript
JS模拟按钮点击功能的方法
2015/12/22 Javascript
jquery实现点击弹出可放大居中及关闭的对话框(附demo源码下载)
2016/05/10 Javascript
JS实现根据文件字节数返回文件大小的方法
2016/08/02 Javascript
JQuery实现文字无缝滚动效果示例代码(Marquee插件)
2017/03/07 Javascript
Bootstrap table学习笔记(2) 前后端分页模糊查询
2017/05/18 Javascript
Angular使用动态加载组件方法实现Dialog的示例
2018/05/11 Javascript
使用express来代理服务的方法
2019/06/21 Javascript
vue 微信扫码登录(自定义样式)
2020/01/06 Javascript
vue学习笔记之作用域插槽实例分析
2020/02/01 Javascript
vscode 调试 node.js的方法步骤
2020/09/15 Javascript
在Python中关于中文编码问题的处理建议
2015/04/08 Python
详解Python中dict与set的使用
2015/08/10 Python
python自动化脚本安装指定版本python环境详解
2017/09/14 Python
Python使用matplotlib实现绘制自定义图形功能示例
2018/01/18 Python
python如何为被装饰的函数保留元数据
2018/03/21 Python
python批量查询、汉字去重处理CSV文件
2018/05/31 Python
PyCharm设置SSH远程调试的方法
2018/07/17 Python
python3.6+django2.0+mysql搭建网站过程详解
2019/07/24 Python
使用 Django Highcharts 实现数据可视化过程解析
2019/07/31 Python
解决Windows下python和pip命令无法使用的问题
2020/08/31 Python
浅谈Html5多线程开发之WebWorkers
2018/05/02 HTML / CSS
咖啡蛋糕店创业计划书
2014/01/28 职场文书
电子专业求职信
2014/06/19 职场文书
机关作风整顿个人整改措施2014
2014/09/17 职场文书
关于EntityWrapper的in用法
2022/03/22 Java/Android