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制作翻转效果_动力节点Java学院整理
Jul 11 HTML / CSS
深入理解css属性的选择对动画性能的影响
Apr 20 HTML / CSS
CSS3中的常用选择器使用示例整理
Jun 13 HTML / CSS
css3 pointer-events 介绍详解
Sep 18 HTML / CSS
html5标记文字_动力节点Java学院整理
Jul 11 HTML / CSS
Html5 实现微信分享及自定义内容的流程
Aug 20 HTML / CSS
html5 Canvas绘制线条 closePath()实例代码
May 10 HTML / CSS
html5中地理位置定位api接口开发应用小结
Jan 04 HTML / CSS
完美解决IE8下不兼容rgba()的问题
Mar 31 HTML / CSS
html5通过postMessage进行跨域通信的方法
Dec 04 HTML / CSS
html5实现点击弹出图片功能
Jul 16 HTML / CSS
HTML怎么设置下划线?html文字加下划线方法
Dec 06 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 has encountered an Access Violation 错误的解决方法
2010/01/17 PHP
简单的cookie计数器实现源码
2013/06/07 PHP
Codeigniter中集成smarty和adodb的方法
2016/03/04 PHP
一个简单的php路由类
2016/05/29 PHP
Yii2创建多界面主题(Theme)的方法
2016/10/08 PHP
PHP实现微信小程序用户授权的工具类示例
2019/03/05 PHP
js一组验证函数
2008/12/20 Javascript
ajax页面无刷新 IE下遭遇Ajax缓存导致数据不更新的问题
2012/12/11 Javascript
JS计算网页停留时间代码
2014/04/28 Javascript
轻松创建nodejs服务器(7):阻塞操作的实现
2014/12/18 NodeJs
javascript实现简单查找与替换的方法
2015/07/22 Javascript
js实现仿网易点击弹出提示同时背景变暗效果
2015/08/13 Javascript
基于jquery步骤进度条源码分享
2015/11/12 Javascript
jQuery手指滑动轮播效果
2016/12/22 Javascript
jQuery+C#实现参数RSA加密传输功能【附jsencrypt.js下载】
2017/06/26 jQuery
关于vue-router的beforeEach无限循环的问题解决
2017/09/09 Javascript
nodejs async异步常用函数总结(推荐)
2017/11/17 NodeJs
利用JQUERY实现多个AJAX请求等待的实例
2017/12/14 jQuery
vue element-ui 绑定@keyup事件无效的解决方法
2018/03/09 Javascript
dts文件中删除一个node或属性的操作方法
2018/08/05 Javascript
[01:03:47]VP vs NewBee Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
Python实现拼接多张图片的方法
2014/12/01 Python
Python实现各种排序算法的代码示例总结
2015/12/11 Python
Python中pip更新和三方插件安装说明
2018/07/08 Python
利用python修改json文件的value方法
2018/12/31 Python
触摸春天教学反思
2014/02/03 职场文书
运动会入场词100字
2014/02/06 职场文书
奥巴马获胜演讲稿
2014/05/15 职场文书
会计个人实习计划书
2014/08/15 职场文书
装饰公司活动策划方案
2014/08/23 职场文书
少先队活动总结
2014/08/29 职场文书
村长党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
乡镇安全生产月活动总结
2015/05/08 职场文书
学校学习型党组织建设心得体会
2019/06/21 职场文书
ajax请求前端跨域问题原因及解决方案
2021/10/16 Javascript
mysql insert 存在即不插入语法说明
2022/03/25 MySQL