Amaze UI 文件选择域的示例代码


Posted in HTML / CSS onAugust 26, 2020

文件选择域

<input type="file"> 也是 CSS 啃不动的一块骨头,如果实在看不惯原生的样式,一般的做法是把文件选择域设为透明那个,覆盖在其他元素。

<div class="am-form-group am-form-file">
  <button type="button" class="am-btn am-btn-default am-btn-sm">
    <i class="am-icon-cloud-upload"></i> 选择要上传的文件</button>
  <input type="file" multiple>
</div>
 
<hr/>
 
<div class="am-form-group am-form-file">
  <i class="am-icon-cloud-upload"></i> 选择要上传的文件
  <input type="file" multiple>
</div>

效果如下

Amaze UI 文件选择域的示例代码

但是官方给的方案一个问题在于,上传文件之后图标没有改变,也没有显示上传文件名的地方。

于是我做了一个小小的修改:加入一段js代码

$('input[type="file"]').change(function (event) {
    var that = this;
    var file = $(that)[0].files[0];
    if(file){
        $(that).prev().text(that.files[0].name);
        $(that).attr({ 'src': window.URL.createObjectURL(that.files[0]) });
    }
});

上传文件后

Amaze UI 文件选择域的示例代码

进一步的,如果传的是图片,我想预览上传的图片效果图呢。

那就再加一段小代码:

$('input[type="file"]').closest('div').hover(function(){
    if($(this).find('input[type="file"]').attr('src')){
        $('body').append('<div class="imgView" style="width: '+$(this).find('button').css('width')+';top: '+($(this).find('button').offset().top-210)+'px;left: '+$(this).find('button').offset().left+'px;height: 200px;position: absolute;text-align: center;line-height: 200px;z-index: 99999;background-color: rgba(51, 51, 51,0.6);"><img style="max-width: 90%;max-height: 90%;" src="'+$(this).find('input[type="file"]').attr('src')+'"></div>')         
    }
},function(){
    $('.imgView').remove();
});

Amaze UI 文件选择域的示例代码

当鼠标放上面就会自动显示上传图片的缩略图了。

转载于:https://my.oschina.net/u/3463305/blog/1504565

总结

到此这篇关于Amaze UI 文件选择域的示例代码的文章就介绍到这了,更多相关Amaze UI 文件选择域内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

HTML / CSS 相关文章推荐
CSS3 制作绽放的莲花采用效果叠加实现
Jan 31 HTML / CSS
关于CSS Tooltips(鼠标经过时显示)的效果
Apr 10 HTML / CSS
纯css3实现的动画按钮的实例教程
Nov 17 HTML / CSS
使用CSS3配合IE滤镜实现渐变和投影的效果
Sep 06 HTML / CSS
深入浅析CSS3中的Flex布局整理
Apr 27 HTML / CSS
HTML5+CSS3实现无插件拖拽上传图片(支持预览与批量)
Jan 05 HTML / CSS
canvas画布实现手写签名效果的示例代码
Apr 23 HTML / CSS
html5 浏览器支持 如何让所有的浏览器都支持HTML5标签样式
Dec 07 HTML / CSS
HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍
Jan 31 HTML / CSS
html5 CSS过度-webkit-transition使用介绍
Jul 02 HTML / CSS
HTML5新增的表单元素和属性实例解析
Jul 07 HTML / CSS
HTML5 文件上传下载的实例代码
Jul 03 HTML / CSS
h5封装下拉刷新
Aug 25 #HTML / CSS
amazeui页面分析之登录页面的示例代码
Aug 25 #HTML / CSS
详解淘宝H5 sign加密算法
Aug 25 #HTML / CSS
AmazeUI 等分网格的实现示例
Aug 25 #HTML / CSS
AmazeUI 点击元素显示全屏的实现
Aug 25 #HTML / CSS
AmazeUI 按钮交互的实现示例
Aug 24 #HTML / CSS
amazeui页面校验功能的实现代码
Aug 24 #HTML / CSS
You might like
在PHP中操作Excel实例代码
2010/04/29 PHP
mysql查找删除重复数据并只保留一条实例详解
2016/09/24 PHP
PHP数组的定义、初始化和数组元素的显示实现代码
2016/11/05 PHP
JS解析json数据并将json字符串转化为数组的实现方法
2012/12/25 Javascript
JS 添加千分位与去掉千分位的示例
2013/07/11 Javascript
jquery增加时编辑jqGrid(实例代码)
2013/11/08 Javascript
jquery 获取dom固定元素 添加样式的简单实例
2014/02/04 Javascript
javascript Array 数组常用方法
2015/04/05 Javascript
javascript实现校验文件上传控件实例
2015/04/20 Javascript
利用Angular+Angular-Ui实现分页(代码加简单)
2017/03/10 Javascript
JavaScript表单即时验证 验证不成功不能提交
2017/08/31 Javascript
nodejs实现解析xml字符串为对象的方法示例
2018/03/14 NodeJs
微信小程序倒计时功能实例代码
2018/07/17 Javascript
原生js实现移动端Touch轮播图的方法步骤
2019/01/03 Javascript
js实现开关灯效果
2020/03/30 Javascript
echarts柱状图背景重叠组合而非并列的实现代码
2020/12/10 Javascript
[38:23]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第一场
2014/05/24 DOTA
Python实现简单http服务器
2018/04/12 Python
python实现LRU热点缓存及原理
2019/10/29 Python
安装Pycharm2019以及配置anconda教程的方法步骤
2019/11/11 Python
解决jupyter notebook 前面书写后面内容消失的问题
2020/04/13 Python
DataFrame.groupby()所见的各种用法详解
2020/06/14 Python
Python实现AES加密,解密的两种方法
2020/10/03 Python
CSS3中的5个有趣的新技术
2009/04/02 HTML / CSS
英国领先的瓷砖专家:Walls and Floors
2018/04/27 全球购物
用JAVA实现一种排序,JAVA类实现序列化的方法(二种)
2014/04/23 面试题
临床医学应届生求职信
2013/11/06 职场文书
体现团队精神的口号
2014/06/06 职场文书
2014年安全生产目标责任书
2014/07/23 职场文书
文明好少年事迹材料
2014/08/19 职场文书
融资合作协议书范本
2014/10/17 职场文书
工作业绩不及格检讨书
2014/10/28 职场文书
2019销售早会主持词
2019/06/27 职场文书
上手简单,功能强大的Python爬虫框架——feapder
2021/04/27 Python
Springboot集成阿里云OSS上传文件系统教程
2021/06/28 Java/Android
Python 阶乘详解
2021/10/05 Python