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 clip-path 用法介绍详解
Mar 01 HTML / CSS
玩转CSS3色彩
Jan 16 HTML / CSS
使用CSS3的背景渐变Text Gradient 创建文字颜色渐变
Aug 19 HTML / CSS
一款纯css3实现的非常实用的鼠标悬停特效演示
Nov 05 HTML / CSS
CSS3改变浏览器滚动条样式
Jan 04 HTML / CSS
用HTML5实现手机摇一摇的功能的教程
Oct 30 HTML / CSS
在IE6系列等老式浏览器中使用HTML5的新标签实现方案
Dec 25 HTML / CSS
带你认识HTML5中的WebSocket
May 22 HTML / CSS
HTML5 新标签全部总汇(推荐)
Jun 13 HTML / CSS
html5将图片转换成base64的实例代码
Sep 21 HTML / CSS
AmazeUI 平滑滚动效果的示例代码
Aug 20 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制作简单的内容采集器的原理分析
2008/10/01 PHP
php中使用explode查找某个字符是否存在的方法
2011/07/12 PHP
PHP重定向的3种方式
2013/03/07 PHP
zend framework框架中url大小写问题解决方法
2014/08/19 PHP
PHP访问Google Search API的方法
2015/03/05 PHP
typecho插件编写教程(三):保存配置
2015/05/28 PHP
PHP实现补齐关闭的HTML标签
2016/03/22 PHP
PHP数据库表操作的封装类及用法实例详解
2016/07/12 PHP
php 常用的系统函数
2017/02/07 PHP
Jquery解析json数据详解
2013/12/26 Javascript
JS操作iframe里的dom(实例讲解)
2014/01/29 Javascript
js实现的页面矩阵图形变换特效
2016/01/26 Javascript
JS验证图片格式和大小并预览的简单实例
2016/10/11 Javascript
jQuery拖拽通过八个点改变div大小
2020/11/29 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
2017/02/28 Javascript
js对象实例详解(JavaScript对象深度剖析,深度理解js对象)
2017/09/21 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
2017/09/30 Javascript
vue.js实现带日期星期的数字时钟功能示例
2018/08/28 Javascript
PHP实现基于Redis的MessageQueue队列封装操作示例
2019/02/02 Javascript
微信小程序开发技巧汇总
2019/07/15 Javascript
原生JavaScript实现五子棋游戏
2020/11/09 Javascript
[04:05]TI9战队采访 - Natus Vincere
2019/08/22 DOTA
python实现批量获取指定文件夹下的所有文件的厂商信息
2014/09/28 Python
在python中使用正则表达式查找可嵌套字符串组
2017/10/24 Python
Python 数据处理库 pandas 入门教程基本操作
2018/04/19 Python
numpy基础教程之np.linalg
2019/02/12 Python
python命令行工具Click快速掌握
2019/07/04 Python
Python描述符descriptor使用原理解析
2020/03/21 Python
keras自定义回调函数查看训练的loss和accuracy方式
2020/05/23 Python
python中append函数用法讲解
2020/12/11 Python
CSS3 Columns分列式布局方法简介
2014/05/03 HTML / CSS
管理专员自荐信
2014/01/26 职场文书
毕业生如何写自我鉴定
2014/03/15 职场文书
艺术教育实施方案
2014/05/03 职场文书
优秀大专毕业生求职信
2014/08/04 职场文书
2014年乡镇工作总结
2014/11/21 职场文书