思路:完成这个功能,首先需要美化上传图片的按钮,然后添加一个

标签,在图片上传之后,用新图片的src替换原来

标签中的src。

如下图所示,是原始的按钮样式:

美化步骤:

(1)将上传图片标签采用绝对定位,使之位于一个图片,按钮,div等标签上。或者给图片,按钮或div设置绝对定位,总之,是要让上传文件按钮和用户指定的按钮重合。

(2)给上传图片标签设置大大小,使之和与它重叠的图片,按钮,div等标签大小一致。

(3)我将此标签设置为透明:opacity:0;

如下图所示,是两种美化后的上传图片按钮:

接下来是完成图片预览的功能,步骤:

(1)首先需要定义好一个

,src为空或者是默认图片,

(2)如果src为空,就给定义好的img设置为透明:opacity:0;如果不是透明的话,会显示一个图片的标志,不美观。

(3)点击上传图片后,获取上传的图片的src,将它赋值给事先定义好的

,再给

设置opacity:1;

接下来为具体的代码示例。

示例一:将图片上传到点击的位置。(此示例中使用了AUI框架,但不影响此功能。)

HTML代码:

点击上传

CSS代码:

#imgPreview {

width: 40%;

height: 180px;

margin: 10px auto 0px auto;

border: 1px solid black;

text-align: center;

}

#prompt3 {

width: 100%;

height: 180px;

text-align: center;

position: relative;

}

#imgSpan {

position: absolute;

top: 60px;

left: 40px;

}

.filepath {

width: 100%;

height: 100%;

opacity: 0;

}

#img3 {

height: 100%;

width: 100%;

display: none;

}

JS代码:

function changepic() {

$("#prompt3").css("display", "none");

var reads = new FileReader();

f = document.getElementById('file').files[0];

reads.readAsDataURL(f);

reads.onload = function(e) {

document.getElementById('img3').src = this.result;

$("#img3").css("display", "block");

};

}

效果如下图所示:

示例二:将图片上传到点击按钮旁边的位置。(此示例中使用了阿里巴巴矢量图标库,但不影响此功能。)

HTML代码:

添加图片

CSS代码:

#img {

float: left;

margin-left: 20px;

width: 150px;

height: 60px;

}

#upImg {

position: absolute;

top: 0px;

left: 0px;

}

#upImg input {

width: 70px;

height: 60px;

opacity: 0;

}

#imgPreview {

width: 80px;

height: 60px;

position: absolute;

left: 70px;

top: 0px;

}

#cropedBigImg{

width: 100%;

height: 100%;

display: none;

}

JS代码:

$('#chooseImage').on('change', function() {//当chooseImage的值改变时,执行此函数

var filePath = $(this).val(), //获取到input的value,里面是文件的路径

fileFormat = filePath.substring(filePath.lastIndexOf(".")).toLowerCase(),

src = window.URL.createObjectURL(this.files[0]); //转成可以在本地预览的格式

// 检查是否是图片

if(!fileFormat.match(/.png|.jpg|.jpeg/)) {

error_prompt_alert('上传错误,文件格式必须为:png/jpg/jpeg');

return;

}else{

$('#cropedBigImg').css('display','block');

$('#cropedBigImg').attr('src', src);

}

});

效果如下图所示:

相关链接

js html怎么加入图片,js实现图片上传并预览功能相关推荐

  1. alert()的功能_前端实现简单的图片上传小图预览功能

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  2. html ajax 图片上传,Ajax实现图片上传并预览功能

    先给大家展示下效果图,大家感觉不错,请参考实现代码. 最近在使用ThinkPHP5开发项目中客户有一个需求是在图片上传时附带预览功能.虽然现在有很多的插件能实现,但是还是觉得自己写比较好.我们知道,图 ...

  3. layui上传图片列表展示_ThinkPHP5+Layui实现图片上传加预览功能

    html代码 上传封面 js代码 var uploadInst = upload.render({ elem:'#cover' ,url:'addCourse' ,accept:'file' // 允 ...

  4. 利用jquery.form.js实现Ajax无刷新图片上传及预览功能

    某些时候当我们做登记页面的时候可能需要上传图片,并实现即时预览的功能. 如果只是预览而不上传,可以使用ImagePreview来实现,方便简单.如果需要上传,那么你也可以使用uploadify无刷新上 ...

  5. 微信小程序实现图片是上传、预览功能

    本文实例讲述了微信小程序实现图片上传.删除和预览功能的方法,分享给大家供大家参考,具体如下: 这里主要介绍一下微信小程序的图片上传图片删除和图片预览 1.可以调用相机也可以从本地相册选择 2.本地实现 ...

  6. java批量上传图片_JAVA图片批量上传JS-带预览功能

    这篇文章就简单的介绍一个很好用的文件上传工具,批量带预览功能.直接贴代码吧,都有注释,很好理解. HTML页面 pageEncoding="UTF-8"%> 新增照片 var ...

  7. 上传图片,多图上传,预览功能,js原生无依赖

    最近很好奇前端的文件上传功能,因为公司要求做一个支持图片预览的图片上传插件,所以自己搜了很多相关的插件,虽然功能很多,但有些地方不能根据公司的想法去修改,而且需要依赖jQuery或Bootstrap库 ...

  8. 小程序 | 微信小程序实现图片是上传、预览功能

    效果图 index.wxml <!-- 打开截图 开始 --> <view class="imageContainer"><view class=&q ...

  9. Ajax实现图片上传并预览

    效果见尾部. 最近在使用ThinkPHP5开发项目中客户有一个需求是在图片上传时附带预览功能.虽然现在有很多的插件能实现,但是还是觉得自己写比较好.我们知道,图片上传需要一个input:file表单 ...

最新文章

  1. 在windows下使用putty登陆linux
  2. php电商交押金的逻辑,PHP高并发下抢购、秒杀功能的超卖问题
  3. 《训练指南》——6.9
  4. git commit时出现unable to auto-detect email address错误
  5. C++11: std::function<void()> func
  6. 省选模拟赛记录(越往下越新哦~~~)
  7. java udp丢包_linux 系统 UDP 丢包问题分析思路
  8. ASP无组件上传带进度条
  9. web前端开发技术期末考试_智慧树来我校开展WEB前端开发微专业导学
  10. Java笔记-CXF增加拦截器与自定义拦截器
  11. 算法进阶之Leetcode刷题记录
  12. 存储器容量大小和芯片选择
  13. Magisk Magisk Manager 下载
  14. 50 道网络面试题及答案
  15. 显示Java国家列表
  16. html网页运行环境,网站运行的环境要求
  17. Android Studio分析工具ApkAnalyzer基本使用
  18. 康奈尔大学计算机硕士要求,申请康奈尔大学计算机硕士需要什么条件呢
  19. Windows下PVM的配置与编程实践
  20. FFmpeg+SDL 视频播放器

热门文章

  1. 爬虫学习(12):爬取诗词名句网并且下载保存
  2. 大部分网站都容易被入侵吗?
  3. Centos7 Gnome桌面 自定义\编辑 文件资源管理器侧边栏
  4. adb授权root权限,adb能否获得root权限
  5. 看到一个不错的前端面试题开源项目
  6. ps aux grep java_ps -aux | grep 用法详解
  7. Bomb HDU - 5934 +tarjan(塔尖)
  8. 鸿蒙大陆鸿蒙战凯,鸿蒙大陆7.1正式版
  9. Unicode汉字编号范围
  10. 【转】免费发手机短信的内幕